一列分裂为多列:
- df['i'],df['j']=df['f'].str.split(':',1).str
- df=pd.merge(df,pd.DataFrame(df['f'].str.split(':',expand=True)),how='left',left_index=True,right_index=True)
apply函数
- df['f']=df['a'].apply(ttest)
groupby函数
- m=df.groupby('a').size().reset_index()
str.cat
- df['a'].str.cat(df['b'],sep='|')
匹配
df=df[~(df['a']=='xxxxxxx')] 取非
df['x']=df['x'].str[:2]
df['x']=df['x'].extract('\d+.\d+')
df['x'].astype(float)
df.head().loc[df['a'].str.contains('04770764')]
df.loc[df['d'].isin(['联通','电信'])] #df[df['d'].isin(['联通','电信'])]
cut分段
一、pd.merge(df1,df2,合并方式,df1合并用的键,df2合并用的键)。
1.后面两个参数在合并的时候两个表格使用的键的列名是一样的时候可以改成on='title':
2.选择多列的时候使用的是两个中括号
pd.merge(df1[['a','b','c']],df2,合并方式,df1合并用的键,df2合并用的键)
- 使用index连接
pd.merge(df1,df2,how='left',left_index=True,right_index=True) - indicator参数
merge还有一个参数,indicator=True,这个参数会添加一列用来注明每一行是来自于哪个表的:
df.apply(lambda row:funcname(row['a'],row['d'],row['e']),axis=1)
网友评论