gpt4 book ai didi

python - pandas.DataFrame 构造函数中不允许元组的元组

转载 作者:行者123 更新时间:2023-11-28 18:59:25 26 4
gpt4 key购买 nike

在 python3 中使用 pandas 数据框,我尝试在元组的元组上调用数据框构造函数。它导致了不正确的构造函数调用错误。对 pandas.DataFrame 文档的快速引用表明,数据参数可以使用 numpy ndarray(结构化或同类)、dict 或 DataFrame 进行初始化,Dict 可以包含系列、数组、常量或类似列表的对象。我无法计算元组的元组无效和元组列表有效的原因。

我将元组的元组转换为元组列表,这救了我的命。

batch_computer_science = ('r1', 'r2', 'r3', 'r4') #roll number of students
batch_mechanical_engg = ('a1', 'a2', 'a3', 'a4') #roll number of students
session_2018 = (batch_computer_science, batch_mechanical_engg)

#In the actual code there are 8 types of batches with 30 students each, sorted in order of registration in the class.`

session_df = pd.DataFrame(session_2018) # This throws an error, improper constructor called.

我希望元组的元组可以工作,但是元组的列表可以工作,元组的元组不能。

最佳答案

你是对的。元组列表有效,元组的元组无效。

自 v0.23.4 起,the source对于 pd.DataFrame class 表示 list 被认为是一个特例:

elif isinstance(data, (list, types.GeneratorType)):
if isinstance(data, types.GeneratorType):
data = list(data)
if len(data) > 0:
if is_list_like(data[0]) and getattr(data[0], 'ndim', 1) == 1:
# ....

所以只需使用元组列表:

session_df = pd.DataFrame(list(session_2018))

请记住,Pandas 是一种 API,而不是一种编程语言。此处的详细信息如有更改,恕不另行通知。

关于python - pandas.DataFrame 构造函数中不允许元组的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54489274/

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