提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Numpy主要用于数值计算,Pandas主要用于数据的读取和查询。
本次所用数据如上图所示,名次为int型,日期为int型,默认索引从0开始。总计550条数据
1.查询数据
1.1 .loc方法
该方法既能查询又能覆盖写入,强烈推荐!!! 下面介绍用该方法查询数据的几种方法
- 使用单个label值查询数据 行或者列都可以只插入单个值
print(df.loc[1, '电影名称']) # 得到一个值
print(df.loc[1, ['电影名称', '人次']]) # 得到一个Series
print(df.loc[:, '电影名称']) # 得到一整列
print(df.loc[0]) # 得到一整行
- 使用值列表批量查询
print(df.loc[[1, 4, 8], ['电影名称', '人次']]) #行标签和列标签均为一个列表
- 使用数值区间进行范围查询 该区间是前后都闭合的区间
print(df.loc[2:7, '电影名称':'总场次'])
- 使用条件表达式进行条件查询
# 返回的数据要符合:日期>20190214 总场次>90000 票价>38.7
print(df.loc[(df['日期'] > 20190214) & (df['总场次'] > 90000) & (df['票价'] > 38.7)])
- 调用函数查询
def query_row(df):
return (df['总场次'] > 95000) & (df['票价'] > 38.7)
print(df.loc[query_row, :]) # 定义一个条件筛选函数,直接传入loc方法
1.2 .where方法
1.3 .query方法
2.数据扩充
- 直接赋值
df.loc[:, '新列'] = df['总场次'] - df['票价']
print(df.head(5))
- .apply方法
- .assign方法
- 按条件选择分组分别赋值
3.数据排序
3.1 Series排序
df['票价'].sort_values() #升序排序 返回值为一个Series
df['票价'].sort_values(ascending=False) # 降序排序 返回值为一个Series
3.2 DataFrame排序
# 多列排序
df.sort_values(by=['总场次', '票价'])
df.sort_values(by=['总场次', '票价'], ascending=False) # 两个字段都是降序
df.sort_values(by=['总场次', '票价'], ascending=[True, False]) # 一个字段升序,一个字段降序
4.字符串处理
获取表格数据中的某一列后,其类型是Series,要先获取Series的str属性才能进行字符串操作。