我试图弄清楚如何创建一个新列,将其他列的相应键的值连接起来.我在此解释:
假设这个字典和下面的数据文件:
my_dict={np.nan:0, 'A':10, 'B':22, 'C':23, 'D':50, 'E':7}
my_df=pd.DataFrame({'col_1':['D', 'A', 'C', 'E'], 'col_2':['B', 'A', np.nan, 'C'], 'col_3':['D', 'A', 'E', 'C']})期望的产出是:
col_1 col_2 col_3 new_col
0 D B D 50-22-50
1 A A A 10-10-10
2 C NaN E 23-0-10
3 E C C 7-23-23有什么好的通用想法吗?我知道我可以把每一列映射到一个新的,然后加入,但我更喜欢更一般的东西,因为真的很多列.
非常感谢!
发布于 2020-03-19 17:43:51
我相信replace和agg/apply
my_df['new_col'] = my_df.replace(my_dict).astype(str).agg('-'.join, axis=1)输出:
col_1 col_2 col_3 new_col
0 D B D 50-22-50
1 A A A 10-10-10
2 C NaN E 23-0-7
3 E C C 7-23-23https://stackoverflow.com/questions/60762430
复制相似问题