✔设置pandas数字显示模式:
pd.options.display.float_format = '{:20,.2f}'.format
✔设置pandas显示所有的columns:
pd.set_option('max_columns', 1000)
✔获取DataFrame的形状:
df.shape
✔获取DataFrame的列名:
df.columns
✔指定DataFrame的index
df.set_index(['date'], inplace=True)
✔LEFT JOIN 的pandas实现:
trnsact = pd.merge(df_train, df_items[['item_id','item_category_id']], how='left', on='item_id')
✔将日期转换为pd.datetime:
df['date'] = pd.to_datetime(df.date, format='%d.%m.%Y')
✔获取DataFrame的index:
df.index.values -- 返回一个numpy.ndarray
✔将日期分为 年 月 日 三列:
df['year'], df['month'], df['day'] = df.date.dt.year, df.date.dt.month, df.date.dt.day
df[['year','month','day']] = df.date.apply(lambda i: pd.Series(i.strftime("%Y,%m,%d").split(",")))
✔另一种通过str来分割日期的方法:
trnsact[['day', 'year', 'month']] = trnsact.date.str.split('_', expand=True)
✔GROUPBY 的 pandas 实现: 将收入(rev.)按照shop_id分组并求和, 并按照第一col.进行倒序排序:
grouped = sept_trn['revenue'].groupby(sept_trn['shop_id']) sept_total = grouped.sum() sept_total = sorted(sept_total.items(), key=lambda i: i[1], reverse=True)
✔计算频率方法, 如可以计算星期几出现的频率, 此指令返回一个Series:
df.weekdays.value_counts()
✔分割星期几的方法:
df['weekdays'] = df.date.dt.dayofweek