熊猫:读取CSV文件以创建3D数组

杰森

第一次在这里发布。所以我的问题是关于如何在Pandas中读取CSV文件的目的,目的是创建一个在每个元素内都具有矩阵的2d数组。

因此,以该示例CSV文件为例

1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3

其中每条新行代表一个单独的矩阵
,每个分号代表每个矩阵内的单独行
,每个逗号代表每行内的单独元素

因此,我想进入这种类型的数组:

[
   [[1,1,1],[2,2,2],[3,3,3]],
   [[1,1,1],[2,2,2],[3,3,3]],
   [[1,1,1],[2,2,2],[3,3,3]]
]

当前,当我在类似这样的东西上使用pandas.read_csv()时,它不会读取分号作为分隔符,因此像1; 2这样的东西将被读取为字符串。

谢谢!

耶斯列尔

您可以使用read_csv参数sep=';'header=None(如果没有标题csv)。然后,您需要applyfunction str.split,因为string函数仅适用于Series(的列df):

import pandas as pd
import io

temp=u"""1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep=";", header=None)
print (df)
       0      1      2
0  1,1,1  2,2,2  3,3,3
1  1,1,1  2,2,2  3,3,3
2  1,1,1  2,2,2  3,3,3

print (df.apply(lambda x: x.str.split(',')))
           0          1          2
0  [1, 1, 1]  [2, 2, 2]  [3, 3, 3]
1  [1, 1, 1]  [2, 2, 2]  [3, 3, 3]
2  [1, 1, 1]  [2, 2, 2]  [3, 3, 3]

print (df.apply(lambda x: x.str.split(',')).values.tolist())
[[['1', '1', '1'], ['2', '2', '2'], ['3', '3', '3']], 
 [['1', '1', '1'], ['2', '2', '2'], ['3', '3', '3']], 
 [['1', '1', '1'], ['2', '2', '2'], ['3', '3', '3']]]

但是如果需要清单int

import pandas as pd
import io

temp=u"""1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3
1,1,1;2,2,2;3,3,3"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep=";", header=None)
print (df)
       0      1      2
0  1,1,1  2,2,2  3,3,3
1  1,1,1  2,2,2  3,3,3
2  1,1,1  2,2,2  3,3,3

for col in df.columns:
    df[col] = df[col].str.split(',')
    #if need convert string numbers to int
    df[col] = [[int(y) for y in x] for x in df[col]]    

print (df.values.tolist())
[[[1, 1, 1], [2, 2, 2], [3, 3, 3]], 
 [[1, 1, 1], [2, 2, 2], [3, 3, 3]], 
 [[1, 1, 1], [2, 2, 2], [3, 3, 3]]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python 3中从csv文件创建2d数组

来自分类Dev

如何从存储在.csv文件中的3D对象创建相机显示的图像?

来自分类Dev

创建一个 3D 熊猫数据框

来自分类Dev

如何从多个文件中读取/写入3D信息?

来自分类Dev

numpy从索引列表创建3D数组

来自分类Dev

创建3D三维数组

来自分类Dev

numpy:向量化操作以创建3D数组

来自分类Dev

本征:使用函数创建3D数组

来自分类Dev

使用元组元素创建3d np数组

来自分类Dev

创建3D三维数组

来自分类Dev

读取csv文件熊猫时提供列名

来自分类Dev

用熊猫读取格式错误的“ csv”文件

来自分类Dev

使用熊猫从zip读取特定的csv文件

来自分类Dev

使用熊猫读取文件中的数组值

来自分类Dev

从 csv 文件、Python 中绘制 3D 点?

来自分类常见问题

使用pyinstaller从python .py文件中创建一个可执行文件,并利用熊猫读取CSV文件?

来自分类Dev

Python:创建 3d 数组时出现 Numpy 内存错误。什么是填充 3d 数组的更好方法

来自分类Dev

从python中的3D数组切片创建新的2D数组?

来自分类Dev

如何通过在MATLAB中控制2D数组的列来创建3D数组?

来自分类Dev

在Python中从现有2D数组创建3D数组

来自分类Dev

用熊猫创建空的csv文件

来自分类Dev

3D数组JavaScript

来自分类Dev

从CSV文件读取并在Objective-C Xcode中创建数组

来自分类Dev

PHP数组-从CSV文件读取,创建第一列键,第二列值

来自分类Dev

在2D图上绘制3D点从文件中读取值

来自分类Dev

Python 3代码读取CSV文件,进行操作,然后创建新文件。

来自分类Dev

在 Javascript/Typescript 中从一维数组创建 3D 数组

来自分类Dev

读取netCDF并创建“虚拟/伪” csv文件

来自分类Dev

从 .csv 文件读取到双数组

Related 相关文章

热门标签

归档