【发布时间】:2019-04-30 13:57:36
【问题描述】:
我正在使用 Python。
我有一个数据框字典。每个数据框在字典中都有一个名称,我可以正确引用它没有问题。
我正在尝试使用该名称并将其添加为每一行的列。我在做这件事时遇到了困难。
【问题讨论】:
-
你能分享一个你的数据示例吗?
标签: python python-3.x pandas dictionary dataframe
我正在使用 Python。
我有一个数据框字典。每个数据框在字典中都有一个名称,我可以正确引用它没有问题。
我正在尝试使用该名称并将其添加为每一行的列。我在做这件事时遇到了困难。
【问题讨论】:
标签: python python-3.x pandas dictionary dataframe
您可以遍历您的字典并执行以下操作:
for key in d.keys(): # d is the dictionary of dataframes
d[key]['new_col'] = key # df_name is the name string you want to add in dataframe.
【讨论】:
您可以使用字典理解和assign:
frames = {k: v.assign(name=k) for k, v in frames.items()}
【讨论】:
您可以简单地将名称字符串分配给每个 DataFrame 的新列:
import pandas as pd
frames = {
'foo': pd.DataFrame({'a': [1, 2], 'b': [3, 4]}),
'bar': pd.DataFrame({'a': [9, 8], 'b': [7, 6]})
}
for name, df in frames.items():
df['name'] = name
print(df, '\n')
给予:
a b name
0 1 3 foo
1 2 4 foo
a b name
0 9 7 bar
1 8 6 bar
【讨论】: