我从多个 csv 文件导入数据,创建多个数据框。我需要对其余代码使用 for 循环,并且对于该代码,我需要将数据帧放在数组中。
我尝试将所有数据帧放入一个列表中,想法是循环可以一次针对一个数据集执行其任务。 这基本上就是我目前所拥有的。
data_sets=[data1,data2,data3]
for x in data_sets:
y=data[x].to_numpy()
我不断收到 TypeError:列表索引必须是整数或切片,而不是 DataFrame 任何帮助将不胜感激。
试试这个。我相信这只是你的拼写错误。
data_sets = [data1, data2, data3]
for df in data_sets:
y = df.to_numpy()
import pandas as pd
import numpy as np
data1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
data2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
data3 = pd.DataFrame({'A': [13, 14, 15], 'B': [16, 17, 18]})
data_sets = [data1, data2, data3]
arrays = []
首先你需要使用 df.to_numpy() 将 df 转换为 numpy。之后,你可以将你的 df 添加到数组中。
for dfin data_sets:
array = df.to_numpy()
arrays.append(array)
然后打印
numpy
数组。
for i, array in enumerate(arrays):
print(f"Array {i+1}:")
print(array)
print()