我的数据框data
包含这些列col1
和col1.1
。
data:
ID Col1 Col1.1
1 21 Water, Salt
13 18 Onions
101 30 Replaceable with oil, water, acid
我希望data
成为:
data:
ID Col1
1 21: Water, Salt
13 18: Onions
101 30: Replaceable with oil, water, acid
到目前为止,我有:
data['Col'] = ': '.join(str(list(zip(data['Col1'], data['Col1.1']))).split("', ")).replace("'", "").replace("(", "").replace(")", "").replace("[", "").replace("]", "")
注意:我在运行此程序时获得了SettingWithCopyWarning
。
我该如何解决这个问题?谢谢大家
答案 0 :(得分:3)
使用str.cat:
df['Col1'].astype(str).str.cat(df['Col1.1'], sep=': ')
Out:
0 21: Water, Salt
1 18: Onions
2 30: Replaceable with oil, water, acid
您需要将其分配回来并删除另一列以获得完全相同的输出:
df['Col1'] = df['Col1'].astype(str).str.cat(df['Col1.1'], sep=': ')
df = df.drop('Col1.1', axis=1)
或者,全部在一行中,感谢MaxU:
df['Col1'] = df['Col1'].astype(str).str.cat(df.pop('Col1.1'), sep=': ')