简体   繁体   English

将字符串列表转换为逗号分隔的2D NumPy

[英]Convert list of string into comma separated 2D NumPy

I have a dataset like the following: 我有一个如下数据集:

0000000000000001,0
0000000000000010,0
0000000000000011,1
0000000000000100,1
0000000000000101,1
0000000000000110,0
0000000000000111,1
0000000000001000,0
0000000000001001,0
.
.
.

I want to convert the first column from each row to be a comma seperated something like this: 我想将每行的第一列转换为逗号分隔,如下所示:

From 0000000000000001,0 to 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 0000000000000001,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0

The following code has a small issue: full_data is not 2D numpy of integers, yet it is 1D of string. 下面的代码有一个小问题: full_data不是2D numpy整数,但它是1D的字符串。 I am not sure how to fix that. 我不知道如何解决这个问题。 Any hint is appreciated. 任何提示都表示赞赏。

data = []
my_data = np.genfromtxt('file.csv', delimiter=',',  dtype='str')[:,0]
for i in my_data:
    x= np.asarray(i)
    data.append(x.tolist())

full_data = np.asarray(data)

Thank you 谢谢

This is one approach. 这是一种方法。

Demo: 演示:

import numpy as np

data = []
my_data = np.genfromtxt(filename, delimiter=',',  dtype='str')

data = [list(i) + [j] for i, j in my_data]
print(data)

Output: 输出:

[
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '1', '1'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0'], 
    ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0']
]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM