pandas DataFrame数据筛选和切片

源代码参考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]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。