pandas DataFrame数据筛选和切片
2020-07-02 本文已影响0人
Heshinia
源代码参考https://www.cnblogs.com/aro7/p/9748202.html
数据来源: 阿里巴巴国际站引流关键词
- “引流关键词”即店铺获得曝光的词.
- 拿到数据后, 一般要排序和筛选, 得出初步结论. 今天总结一些pandas用于筛选的方法
#查看表格前5行
import pandas as pd
inflow = pd.read_csv("文件名.csv")
inflow.head(5)
- 使用“切片”, 筛选出列"点击率">0的行
#筛选出有点击的关键词
inflow_click = inflow[ inflow['点击率'] >0]
inflow_click.head(5)
- 在上面代码的基础上, 只显示列"词" "点击量"的值
inflow2 = inflow['词'] [inflow['点击量'] >0]
inflow2.head(5)
isin函数
- 筛选列“点击率”中值等于list[1,2,5]中元素的记录
inflow3 = inflow[inflow['点击量'].isin([1, 2, 3])]
inflow3
运算符 & | ~
- 多个条件筛选
- 筛选列“点击量”>0, “外贸直通车”不等于0的记录
inflow4 = inflow[ (inflow["点击量"]>0) & (inflow['外贸直通车点击'] !=0) ]
inflow4
整行 整列切片
#前闭后开区间
inflow[10:15]
inflow[['词', '点击量']]
loc函数
- 同时进行行列筛选
data.loc[row_index, 'colum_names']
inflow4.loc[753, ['点击量', '外贸直通车点击']]
iloc函数
- 同时对行列筛选
data.iloc[row_index, col_index]
inflow4.iloc[4, [0, 4]]
ix函数
- ix功能强大,参数既可以是“索引”也可以是“名称”, 相当于loc和iloc的合体
data.ix[n:m, ['col1', 'col2']]
- 但在Python3中, 似乎不能用了
inflow4.ix[4:9, ['词', '点击量']]
at函数
- 根据行index和列名, 快速定位DataFrame元素
data.at[row_index, 'column_names']
inflow4.at[5, '点击率']
iat函数
- 根据行index和列index, 快速定位DataFrame元素
inflow4.iat[5, 0]