参加腾讯广告算法大赛,学习pandas使用
学习的材料:
- 直接搜索(各种博客和网站)
- 腾讯广告算法大赛数据操作
常见操作
- 导入包并读取csv文件
函数:pd.read_csv(path)
1 | import pandas as pd |
- 查看数据的某几行
函数:head(num)
、tail(num)
1 | df.head(5) #显示前5行 |
- 查看数据的大小
属性:dataframe.shape
1 | df.shape #显示dataframe的大小 |
- 查看数据的统计情况
函数:dataframe.describe()
1 | df.describe() |
- 查看数据的总体情况
函数:dataframe.info()
1 | df.info(memory_usage='deep') #总体信息 |
- 选取某一列(多列df.[‘aid’,’uid’])
1 | df_aid = df['aid'] #最终返回的是Series |
- 选取某一行
索引(index)为数字:dataframe.iloc(30)
1 | df_aid.iloc(30) #最显示第30行的数据,返回的是Series |
索引(index)为字符: dataframe.iloc("30")
1 | df_aid.loc("30") |
- 选取多行
索引(index)为数字:dataframe.iloc(30)
1 | df_aid.iloc([30,20,10]) #最显示第30,20,10行的数据,返回的是Series |
索引(index)为字符: dataframe.iloc(["30","20","10"])
1 | df_aid.loc("30") #最显示第30,20,10行的数据,返回的是Series |
- 修改index
修改索引(index)为aid
列:dataframe.set_index(['aid'])
1 | df_aid.set_index(['aid']) |
- 重置index
重置索引(index)为数字:dataframe.reset_index()
1 | df_aid.reset_index() |
- 按照index进行排序
函数:dataframe.sort_index(acending=False)
1 | df..sort_index(acending=False) #按照index进行降序排序 |
- 按照某一列进行排序
函数:dataframe.sort_values(by=["aid"], acending=False)
1 | df.sort_values(by=["aid"], acending=False) #按照aid列进行降序排序 |
- 更改列名称
函数:dataframe.rename()
1 | df.rename(columns={"aid":"aid_new"}) #将aid列名改为aid_new |
数据集操作
原始的数据样本数据量太大,在进行调参和线下测试的时候只取一小部分可以节约时间,所以对数据集进行采样
- 分组统计
1 | df['aid'].value_counts() |
- 查询
1 | df[df['aid'] > 1000] |
- 查询唯一的值
1 | df['aid'].unique() |
- 小数点后几位保留
1 | df['score'].round(6) #保留6位 |
- 更改值
1 | train.loc[train['label']==-1,'label']=0 |