繁体   English   中英

为列表中的每个 numpy.ndarray 创建数据框

[英]Creating dataframes for every numpy.ndarray in a list

我对 Python 相当陌生,并试图弄清楚如何为多个数组生成数据帧。 我有一个当前存储数组的列表:

list = [ [1 2 3 4], [12 19 30 60 95 102] ]

我想要做的是从此列表中获取每个数组并将它们放入单独的数据帧中,数组内容填充数据帧的一列,如下所示:

        Array2_df
1       12
2       19
3       30
4       60

我找到了几个涉及使用字典的答案,但不确定这将如何真正解决我的问题......我也不明白如何动态命名数据框。 我尝试过使用 for 循环,但这只是重复覆盖了相同的数据帧。 请帮忙!! 谢谢 :)

正如评论中提到的,动态创建的变量是一个坏主意。 为什么不使用单个数据框,如下所示:

In [1]: zlist = [[1, 2, 3, 4], [12, 19, 30, 60, 95, 102], [1, 2, 4, 5, 1, 6, 1, 7, 8, 21]]

In [2]: pd.DataFrame({f"array_{i}": pd.Series(z) for i, z in enumerate(zlist)})
Out[2]:
    array_0  array_1  array_2
0       1.0     12.0        1
1       2.0     19.0        2
2       3.0     30.0        4
3       4.0     60.0        5
4       NaN     95.0        1
5       NaN    102.0        6
6       NaN      NaN        1
7       NaN      NaN        7
8       NaN      NaN        8
9       NaN      NaN       21

如果您真的坚持使用单独的数据框,那么您应该将它们存储在字典中:

df_dict = {f"array_{i}": pd.DataFrame({f"array_{i}": z}) for i, z in enumerate(zlist)}

然后,您可以按名称访问特定的数据框:

In [8]: df_dict["array_2"]
Out[8]:
   array_2
0        1
1        2
2        4
3        5
4        1
5        6
6        1
7        7
8        8
9       21

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM