cuốn sách gpt4 ai đã làm

python - 读取多个 csv 文件(大小 mxm)并加载为 n 维数组(大小 nxmxm)(不连接)

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-03 20:34:11 28 4
mua khóa gpt4 Nike

我正在开发一个程序,需要将大量 csv 文件(数千个)加载到数组中。

csv 文件的尺寸为 45x100,我想创建一个尺寸为 nx45x100 的 3-d 数组。目前,我使用 pd.read_csv() 加载每个 csv 文件,然后使用 np.array() 将每个文件转换为数组。然后,我使用 np.array(data_0, data_1,...,data_n) 创建一个 3d 数组,我得到一个具有所需尺寸的 3d 数组。

虽然有效,但是非常乏味。有没有什么方法可以在不单独读取和处理每个 csv 文件的情况下完成此操作?

   #this is my current code
nhập numpy dưới dạng np
nhập gấu trúc dưới dạng pd
from pandas import Series, DataFrame

mBGS5L = pd.read_csv("strain5.csv") #45x100
mBGS8L = pd.read_csv("strain8.csv")
mBGS10L = pd.read_csv("strain10.csv")

mBGS5L_ = np.array(mBGS5L)
mBGS8L_ = np.array(mBGS8L)
mBGS10L_ = np.array(mBGS10L)

mBGS = np.array([mBGS5L_,mBGS8L_,mBGS10L_])
#to which mBGS.shape returns a 3x45x100 array'''

注意:我已经检查了有关将多个 csv 文件加载到 1 个数据帧中的其他 stackoverflow 链接,从中我了解了 glob 来获取我需要的所有 csv 文件的列表。但我的问题是,使用 glob 并连接 csv 文件返回一个列表而不是 3d 数组——我无法将其转换为 numpy 数组,因为它返回错误

   from glob import glob
strain = glob("strain*.csv")
df= [pd.read_csv(f) for f in strain]
df_ = np.asarray(df)
#this returns an error: cannot copy sequence with size 45 to array axis with dimension 30

任何帮助将不胜感激。谢谢

câu trả lời hay nhất

首先,您需要将dataframes转换为mxm数组。引用下面代码

from glob import glob
nhập numpy dưới dạng np
strain = glob("strain*.csv")
df = [pd.read_csv(f).values for f in strain]
df_ = np.asarray(df)

关于python - 读取多个 csv 文件(大小 mxm)并加载为 n 维数组(大小 nxmxm)(不连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57283513/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress