数据帧字典选择数据帧的名称



我使用的是Python。

我有一本数据帧词典。每个数据帧在字典中都有一个名称,我可以正确引用它,没有问题。

我正试图取这个名字,并将它作为一列添加到每一行中。我做这件事很不容易。

您可以简单地将名称字符串分配给每个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

演示

您可以遍历字典并执行以下操作:

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()}

最新更新