gpt4 book ai didi

python - 如何检查 n 列表并将其转换为 Python 中的 pandas 数据框?

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:09 25 4
gpt4 key购买 nike

我有几个定义如下所示的列表,需要将其转换为 pandas 数据框。虽然我只提供了 4 个列表,但在我的问题中,我可能有 n 个列表,并且除了一个列表 col_names 之外,我对这些列表的名称一无所知。

list1 = [1,2,3,4]
list2 = [5,6,7,8]
list3 = [9,10,11,12]
.
.
.
listn = [....]

col_names = ['A', 'B', 'C', 'D']

期望的输出是一个 pandas 数据框 df 组合所有 n 个列表和一个列表 col_names 作为列名,如下所示:

import pandas as pd

df = pd.Dataframe([list1, list2, list3,.....,listn], columns = col_names)
print(df)

A B C D
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
. . . . .
. . . . .
n . . . .

我尝试通过引用来自 this 的输入,使用 globals() 获取所有变量的列表问题。但是此方法仅将变量名称作为字符串返回并将它们存储在字典中。我无法检查哪些变量是列表,以便我可以执行某种迭代,使用它我可以将所有列表值附加到数据框 df。非常感谢任何有关如何解决此问题的指导。

我在 Windows 10 (x64) 上使用 Python 3.7.4。

最佳答案

globals() 返回所有全局变量及其名称和值的字典。浏览值列表并选择符合您的条件的值(作为列表并有 4 个项目)。

a = [1,2,3,4]
b = [5,6,7]
c = [8,9,10,11]

all_lists = [y for y in globals().values() \
if isinstance(y, list) and len(y) == 4]
#[[1, 2, 3, 4], [8, 9, 10, 11]]

或者,定义一个任意的标准函数:

def is_good(x):
return isinstance(x, list) \
and len(x) == 4 \
and all(map(lambda y: isinstance(y, int), x))

并将其应用于每个全局变量:

all_lists = [x for x in globals().values() if is_good(x)]
#[[1, 2, 3, 4], [8, 9, 10, 11]]

这允许检查列表项的数据类型。

关于python - 如何检查 n 列表并将其转换为 Python 中的 pandas 数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57186978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com