pandas多列同时赋值_Python的数据整合与数据清洗!都是基于Pandas!史上最详细教程!...

本教程详细讲解了Pandas在数据整合与清洗中的应用,包括选择、创建、删除列,条件查询,合并连接,排序,分组汇总,赋值及条件赋值,处理重复和缺失值,以及数据分箱等操作。通过实例演示,帮助读者掌握Pandas的实用技巧。
摘要由CSDN通过智能技术生成

每次爬虫获取的数据都是需要处理下的。

所以这一次简单讲一下Pandas的用法,以便以后能更好的使用。

数据整合是对数据进行行列选择、创建、删除等操作。

数据清洗则是将整合好的数据去除其中的错误和异常。

本期利用之前获取的网易云音乐用户数据,来操作一番。

/ 01 / 数据整合

首先读取数据。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 设置列名与数据对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
# 显示所有列
pd.set_option('display.max_columns', None)
# 显示10行
pd.set_option('display.max_rows', 10)
# 设置显示宽度为1000,这样就不会在IDE的输出框中换行了
pd.set_option('display.width', 1000)
# 读取数据
df = pd.read_excel('data.xlsx', header=None, names=['name', 'user_id', 'age', 'gender', 'city', 'praise', 'date'], encoding='utf-8-sig', skipinitialspace=True)
print(df

私信小编001 获取神秘pandas大礼包!

这里以上期的网易云音乐用户数据为例。

8c112c904382369590afd1deccde18df.png

01 行列操作

选择单列。可以直接用列名选择,也可以通过ix、iloc、loc方法进行选择行、列。

ix方法可以使用数值或者字符作为索引来选择行、列。

iloc则只能使用数值作为索引来选择行、列。

loc方法在选择列时只能使用字符索引。

# 返回pandas序列结构的类
print(df['age'])
print(df.age)
print(df.ix[:, 'age'])
print(df.loc[:, 'age'])
# 返回pandas数据框类
print(df[['age']])
print(df.iloc[:, 2:3])

输出结果。

a27123cd35861ff174480fcc8b5e493b.png

780ecb1039b407258ed241f93068d75b.png

选择多列。ix、iloc、loc方法都可使用。

只不过ix和loc方法,行索引是前后都包括的,而列索引则是前包后不包(与列表索引一致)。

iloc方法则和列表索引一致,前包后不包。

# 列索引前包后包
print(df.ix[0:5, 0:5])
print(df.loc[0:5, ('name', 'user_id', 'age', 'gender', 'city')])
# 列索引前包后不包
print(df.iloc[0:5, 0:5])

输出结果。

448cc3e207521c9a59c53a1fccaf0c5e.png

521dba8f4a7a0ec4cc4b745e2a602d0b.png

创建列。可以直接通过赋值完成,也可通过数据框的assign来完成赋值,不过后一种方法需要赋值给新表才能生效。

# 直接列赋值
df['adult'] = df['age'] // 18
print(df)
# 使用assign赋值
df = df.assign(adult=df['age'] // 18)
print(df)

两个方法的输出结果都一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值