pandas 以dict格式创建自定义列

aydmsdu9  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(140)

我目前有一个这样的 Dataframe
| 人员|分析方法|灵活性|技能|
| - -|- -|- -|- -|
| 一百七十四|三点七六|四、十二|一点二零|
| 二百三十九|第4.10节|三点七八分|三点七七|
| 五五七|五点整|二点|四点四十分|
| 六百七十四|二点二三分|二点四十分|二点八零|
| 一百二十二|三点三三分|四点八零|第4.10节|
我想添加一个列来汇总所有这些信息,如下所示
| 人员|分析方法|灵活性|技能|新建列(_C)|
| - -|- -|- -|- -|- -|
| 一百七十四|三点七六|四、十二|一点二零|{“分析”:“3. 76”,“敏捷”:“4. 12”,“技能”:“1. 20”}|
| 二百三十九|第4.10节|三点七八分|三点七七|{“分析”:“4. 10”,“敏捷”:“3. 78”,“技能”:“3. 77”}|
| 五五七|五点整|二点|四点四十分|{“分析”:“5.00”,“敏捷”:“2.00”,“技能”:“4.40”}|
| 六百七十四|二点二三分|二点四十分|二点八零|{“分析”:“2.23”,“敏捷”:“2.40”,“技能”:“2.80”}|
| 一百二十二|三点三三分|四点八零|第4.10节|{“分析”:“3. 33”,“敏捷”:“4. 80”,“技能”:“4. 10”}|

t1rydlwq

t1rydlwq1#

你可以这样使用to_dict方法:

import pandas as pd

rows = [
    {'a': 1, 'b': 2},
    {'a': 3, 'b': 4},
]

df = pd.DataFrame(rows)

# define new column as the json format of another
# also convert to str as that is what you have in your output
df['c'] = df[['a', 'b']].astype(str).to_dict(orient='records')

to_dict有一个非常好的接口,可以转换成JSON格式或其他对象类型。在本例中,您要查找的是orient='records',它是一个字典列表。
在您的情况下,您将用途:

df['new_column'] = df[
    ['Analysis', 'Dexterity', 'Skills']
].astype(str).to_dict(orient='records')

相关问题