【发布时间】:2019-07-03 21:53:10
【问题描述】:
我有一个数据框 df
df
Object Action Cost1 Cost2
0 123 renovate 10000 2000
1 456 do something 0 10
2 789 review 1000 50
还有一个字典(称为字典)
dictionary
{'Object_new': ['Object'],
'Action_new': ['Action'],
'Total_Cost': ['Cost1', 'Cost2']}
此外,我有一个(开头为空)数据框 df_new 应该包含与 df 几乎相同的信息,除了列名需要不同(根据字典命名)和df 中的某些列应该基于字典进行合并(例如求和运算)。
结果应该是这样的:
df_new
Object_new Action_new Total_Cost
0 123 renovate 12000
1 456 do something 10
2 789 review 1050
我怎样才能只使用字典来实现这个结果?我尝试使用 .map() 函数,但不知道如何使用它执行求和运算。
附上重现数据帧和字典的代码:
# import libraries
import pandas as pd
### create df
data_df = {'Object': [123, 456, 789],
'Action': ['renovate', 'do something', 'review'],
'Cost1': [10000, 0, 1000],
'Cost2': [2000, 10, 50],
}
df = pd.DataFrame(data_df)
### create dictionary
dictionary = {'Object_new':['Object'],
'Action_new':['Action'],
'Total_Cost' : ['Cost1', 'Cost2']}
### create df_new
# data_df_new = pd.DataFrame(columns=['Object_new', 'Action_new', 'Total_Cost' ])
data_df_new = {'Object_new': [123, 456, 789],
'Action_new': ['renovate', 'do something', 'review'],
'Total_Cost': [12000, 10, 1050],
}
df_new = pd.DataFrame(data_df_new)
【问题讨论】:
标签: python pandas dataframe dictionary data-analysis