python进行数据处理过程中怎么对单列进行操作(python3中get_dummies函数为例)

我们以下面数据为例


上图为我们的数据 我们可以发现 如果我们对  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)

通过这样操作 就可以对单独列进行操作 了

结果如下



猜你喜欢

转载自blog.csdn.net/qq_24753293/article/details/80312294