从Array创建Pandas数据帧

时间:2018-04-05 14:52:38

标签: python pandas loops dataframe

如何创建以数组中每个条目命名的新数据框?

我有一个从Pandas数据框列创建的数组。它看起来像下面。

[In]  company_id = df.COMPANY_IDENTIFICATION.unique()
[In]  company_id
[OUT] array(['BBG000QFYJ26', 'BBG000C0ZQY2', 'BBG000LNZ408', ..., 'BBG000QXGV57',
   'BBG0022MJRB2', 'BBG0025394S5'], dtype=object)

我创建了一个简单的循环,但我认为它无法正常工作。

for i in company_id:
    i = pd.DataFrame()

作为测试,我在每次迭代后打印i。

for i in company_id:
    i = pd.DataFrame()
    print(i)

输出是:

  

索引:[]

     

清空DataFrame

     

列:[]

     

索引:[]

     

清空DataFrame

     

列:[]

     

我也无法通过我知道的数组中的名称来调用数据帧。想法?

1 个答案:

答案 0 :(得分:1)

更好的想法是将数据框存储在字典中,名称为键:

d= {i: pd.DataFrame() for i in company_id}

然后,您可以通过字典键引用单个数据帧,例如d['BBG000QFYJ26']

您可以通过dict.items()

重复字典
for k, v in d.items():
    # perform operation