pandas常用操作笔记
读取和储存
pd.read_csv('file.csv')
pd.read_excel('file.xlsx')
df.to_csv('output.csv',index=False,header=['列名1','列名2'],encoding='utf-8-sig')
数据预处理
df=pd.DataFrame(data,index,columns)
df.drop_duplicates()
df.shape
df.dtypes
df.astype(int)
df.fillna()
df.dropna()
df.apply(function,axis=1)
df['a'].map(function)
常用机器学习pd常用操作
parser = lambda x: pd.datetime.strptime(x, '%Y/%m/%d')
df=pd.read_csv('test.csv',parse_dates=['date'],date_parser=parser)
df.date.dt.month
df.date.dt.year
df.date.dt.day
df.date.dt.dayofweek
df.date.dt.dayofyear
df.date.dt.weekofyear
df.groupby(['a','b'])['c'].describe()
pd.merge(left,right,how='inner',on,left_on,right_on)
left为在左边的表,inner或outer分别表示交集和并集,0n表示公共列(索引列),left_on为左表的连接键
pd.concat([df1,df2],axis=1,join='inner')
df1.append(df2,ignore_index=True)
pd.cut(df['a'],[0,10,20,30],labels=['0-10','10-20','20-30'])
常用数据筛选
df.head(10)
df[1:10]
df[df.columns[0,10]]
df[df['date']>'2019/1/1']
常用数据统计
df['sale'].value_counts()
df['占比']=df['数量']/df.groupby(['款型','月份'])['数量'].transform(sum)
df.describe()