读取csv文件,如果文件中无表头的话,则用header=None,否则,默认第一行为header,dtype可以指定某列在dataframe为str类型,以免转成dataframe时变成浮点数。
import pandas as pd
user_info=pd.read_csv('D:/predict_rujin/user_info.csv',header=None,dtype=str)
保存为csv文件:
df1.to_csv(path,header=True,index=False,encoding='UTF-8')
读取DataFrame的前几行或后几行,括号中也可以加入具体数字:
df1.head()
df1.tail()
更改dataframe的列名:
df1.columns=['column1','column2']
python中grouby和agg的操作: https://segmentfault.com/a/1190000012394176
https://blog.csdn.net/claroja/article/details/71080293?utm_source=itdadao&utm_medium=referral
转换某列类型如:pd1.column.astype('str')
groupby后的列按照数组的形式看待。
apply后面lambda函数的使用例子:对象.apply(lambda s:len(s.split(':'))) ,apply后面也可以自定义函数
t6.rename(columns={'distance':'merchant_max_distance'},inplace = True)
merchant3_feature = pd.merge(merchant3_feature,t2,on='merchant_id',how='left')
merchant3_feature.sales_use_coupon = merchant3_feature.sales_use_coupon.replace(np.nan,0)
apply,applymap,map的区别
apply 用在dataframe上,用于对row或者column进行计算; applymap
用于dataframe上,是元素级别的操作; map
(其实是python自带的)用于series上,是元素级别的操作。
判断是否空值:
np.isnan(user_rujin_info_active).any() #每一行是否有空
np.isnan(user_rujin_info_active) #每一个数据是否为空
df1.fillna(0.5) #填充空值
np.unique(user_action_1.function_name) #该列去重,去重后的该列保存在array中
dict(zip(function_name,range(len(function_name))))