我们以下面数据为例
上图为我们的数据 我们可以发现 如果我们对 behavior_type 这一列单独操作,这里我们想把他弄成热编码的形式
会对我们以后的操作更好一点 即 1 2 3 4 对应 1000 0100 0010 0001
但是这一列在数据中我们怎么单独操作呢 这里我们用到了join函数 即 我先单独分析 behavior_type 这一列
然后 没进行操作的列我们在拼接上 相当于想拆分,再操作 再拼接的形式
import pandas as pd import numpy as np path_df_part_1 = r'C:\Users\yang\Desktop\ceshi.csv' #时间11.22-11.27的数据 path_df = open(path_df_part_1, 'r') try: df_part_1 = pd.read_csv(path_df, index_col = False, parse_dates = [0]) df_part_1.columns = ['user_id','item_id','behavior_type','item_category'] finally: path_df.close() df_part_1['cumcount'] = df_part_1.groupby(['user_id', 'behavior_type']).cumcount()# df_part_1_u_b_count_in_6 = df_part_1.drop_duplicates(['user_id','behavior_type'], 'last')[['user_id','behavior_type','cumcount']] # df_part_1_u_b_count_in_6 = pd.get_dummies(df_part_1_u_b_count_in_6['behavior_type']).join(df_part_1_u_b_count_in_6[['user_id','cumcount']]) print(df_part_1_u_b_count_in_6)
通过这样操作 就可以对单独列进行操作 了
结果如下