Python pandas 从两列创建新的字典列
Python pandas create new dict column from two columns
希望你们一切都好。
我有一个数据框数据看起来像这样:
import pandas as pd
data = {'A': ['A_first_value', 'A_second_value'],
'B': ['B_first_value', 'B_second_value'],
'C': ['C_first_value', 'C_second_value'],
'D': ['D_first_value', 'D_second_value'],
}
df = pd.DataFrame(data)
结果:
A B C D
0 A_first_value B_first_value C_first_value D_first_value
1 A_second_value B_second_value C_second_value D_second_value
这应该是目标 C 列和 D 列应该在字典中:
# A B Target
# 0 A_first_value B_first_value {"C": "C_first_value", "D": "D_first_value"}
# 1 A_second_value B_second_value {"C": "C_second_value", "D": "D_second_value"}
我想我会因为速度而避免使用 iterrows?!
还有其他可能吗?
df['Target'] = df[['C','D']].to_dict('records')
df = df.drop(['C','D'], axis=1)
print (df)
A B \
0 A_first_value B_first_value
1 A_second_value B_second_value
Target
0 {'C': 'C_first_value', 'D': 'D_first_value'}
1 {'C': 'C_second_value', 'D': 'D_second_value'}
希望你们一切都好。 我有一个数据框数据看起来像这样:
import pandas as pd
data = {'A': ['A_first_value', 'A_second_value'],
'B': ['B_first_value', 'B_second_value'],
'C': ['C_first_value', 'C_second_value'],
'D': ['D_first_value', 'D_second_value'],
}
df = pd.DataFrame(data)
结果:
A B C D
0 A_first_value B_first_value C_first_value D_first_value
1 A_second_value B_second_value C_second_value D_second_value
这应该是目标 C 列和 D 列应该在字典中:
# A B Target
# 0 A_first_value B_first_value {"C": "C_first_value", "D": "D_first_value"}
# 1 A_second_value B_second_value {"C": "C_second_value", "D": "D_second_value"}
我想我会因为速度而避免使用 iterrows?! 还有其他可能吗?
df['Target'] = df[['C','D']].to_dict('records')
df = df.drop(['C','D'], axis=1)
print (df)
A B \
0 A_first_value B_first_value
1 A_second_value B_second_value
Target
0 {'C': 'C_first_value', 'D': 'D_first_value'}
1 {'C': 'C_second_value', 'D': 'D_second_value'}