【问题标题】:Dictionary of Dataframes select name of the dataframe数据框字典选择数据框的名称
【发布时间】:2019-04-30 13:57:36
【问题描述】:

我正在使用 Python。

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

我正在尝试使用该名称并将其添加为每一行的列。我在做这件事时遇到了困难。

【问题讨论】:

  • 你能分享一个你的数据示例吗?

标签: python python-3.x pandas dictionary dataframe


【解决方案1】:

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

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.

【讨论】:

  • 我要加的名字就是key,所以把df_name换成key就好了?
【解决方案2】:

您可以使用字典理解和assign

frames = {k: v.assign(name=k) for k, v in frames.items()}

【讨论】:

    【解决方案3】:

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

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 2018-01-26
      相关资源
      最近更新 更多