读取数据
read_csv
- 变量名若无特殊需求可取df即dataframe
- 可使用相对路径也可使用绝对路径载入数据,推荐使用相对路径,方便把代码发给别人
- 若路径中含转义字符\,记得在路径字符串前加r
- 关于读取时的列名与行名的定义:
其他函数
查看数据
- df.info()#查看数据简介
- df.head()#查看前5行数据
- df.tail()#查看后5行数据
- df.sample()#查看随机5行数据
- df.isnull()##判断数据是否为空,为空的地方返回True,其余地方返回False
- df.shape # (100, 6) 查看行数和列数
- df.describe() # 查看数值型列的汇总统计,需要print
- df.dtypes # 查看各字段类型
- df.axes # 显示数据行和列名
- df.columns # 列名
数据选取
查看指定列
df['Q1']或df.Q1
选择多列
df[['team', 'Q1']] # 只看这两列,注意括号
df.loc[:, ['team', 'Q1']] # 和上一行效果一样
tips:df.loc[x, y]是一个非常强大的数据选择函数,其中x代表行,y代表
列,行和列都支持条件表达式,也支持类似列表那样的切片(如果要用
自然索引,需要用df.iloc[])。
删除列
del df['Q2']
条件选择
单一条件
df[df.Q1 > 90] # Q1列大于90的
df[df.team == 'C'] # team列为'C'的
df[df.index == 'Oscar'] # 指定索引即原数据中的name
组合条件
df[(df['Q1'] > 90) & (df['team'] == 'C')] # and关系
df[df['team'] == 'C'].loc[df.Q1>90] # 多重筛选
排序
df.sort_values(by='Q1') # 按Q1列数据升序排列
df.sort_values(by='Q1', ascending=False) # 降序
df.sort_values(['team', 'Q1'], ascending=[True, False]) # team升序,Q1降序
df.sort_index(axis=1)# 让列索引升序排序