不能将数据分组到numpy array

问题描述 投票:0回答:1

(每天有27个数字)

我想使用LSTM预测第二天的27个数字列表。 它在此步骤中一直遇到错误:
data_matrix = np.array(grouped_data.loc[:, "Số"].tolist())

KeyError: 'Số'

(这意味着“数字”)
我的代码是我的代码:

import numpy as np import pandas as pd df = pd.read_csv("C:/Users/Admin/lonum_fixed.csv", encoding="utf-8", sep=",") df.columns = df.columns.str.strip() grouped_data = df.groupby("Ngày")[["Số"]].apply(lambda x: list(map(int, x["Số"].values))).reset_index() grouped_data["Số"] = grouped_data["Số"].apply(lambda x: eval(x) if isinstance(x, str) else x) data_matrix = np.array(grouped_data.loc[:, "Số"].tolist())
    

首先:当它读取数据时,它会自动转换为整数,因此无需使用

map(int, ...)

apply( ...list ...)
创建列表,因此无需使用
eval()
python pandas numpy csv
1个回答
0
投票

问题是因为

groupby().apply()
创建了带有名称的数据帧,而不是
0
后来提出错误,而不是
"Số"

您可以将代码减少为

grouped_data["Số"].apply(...)

将转换为列表并设置名称
grouped_data.loc[:, "Số"]
熊猫将数据保留为numpy.Array,以便您可以获得
grouped_data = df.groupby("Ngày")["Số"].apply(list).reset_index(name="Số")
用于测试的Fulll代码:

I仅在内存中仅创建类似文件的对象,但您可以使用文件名。

"Số"
恢复:

data_matrix = grouped_data["Số"].values

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.