基本都是关于DataFrame的
1. 读取数据
score_df = pd.read_csv('D:\\task1\Data\cleaned\\text', sep='\t', header=None)
不写header表示列名为第一行
注意地址中有转义字符的话需要双斜杠。比如'\t''\r'.
2. 更改、添加列名
score_df.columns = ['A', 'B', 'C'] # 注意该方法需要写全列名
score_df.rename(columns = {'A':'a', 'C':'c'}, inplace = True)
3. 合并DataFrame(以某个key为连接)
m_tb = pd.merge(score_df, resp_df, how='inner', left_on='mobile', right_on='phone', left_index=False, right_index=False, \
sort=True, suffixes=('_x', '_y'), copy=True, indicator=False)
详情百度
4. 选取满足特定条件的行(组成一个新的DataFrame)
m_tb[(m_tb['result']==3) & (m_tb[1]==1)]
5. 做列联表,两种方法
pd.crosstab(np.array(y_range), np.array(age_range))
test_pd = pd.merge(pd.DataFrame(y_range, columns = ['salary_range']), pd.DataFrame(age_range, columns = ['age_range']),left_index=True, right_index=True)
test_pd.groupby(by = ['age_range', 'salary_range']).agg(len).unstack()
6. 选取特定值
dataframe[b][dataframe[a]==1].values[0]
7. 对特定的列做计算
contact_sample['new_order'] = contact_sample['raw_list'].apply(lambda x: sort_contact(x))
contact_sample[['new_order', 'add_list', 'add_cnt']] = contact_sample[['raw_list', 'original_order']].apply(lambda x: sort_contact(x[0], x[1]), axis = 1)
transform_df=sample_df.groupby('TenantId')['TotalSize'].transform(lambda x: (x - x.mean()) / x.std())