我正在尝试加载几千行四列的数据,其中每一列由一个制表符空间分隔,并将每一行的每一项都转换为int数据类型。
当我像这样创建数据框时:
my_data = pd.read_csv('filename', sep='\t')
我得到的输出每一行看起来像这样:
col1\tcol2\tcol3\tcol4
然后,我需要将其转换为一个numpy数组,所以我这样做:
arr_data = np.array(my_data)
这是我现在的输出:
array([['col1\tcol2\tcol3\tcol4'],
['col1\tcol2\tcol3\tcol4'],
['col1\tcol2\tcol3\tcol4'],
.....
.....
所以基本上现在每一行都是一个字符串。我想做的就是将所有内容都变成一个int,而不是string当我尝试这样做时:
arr_data = np.array(my_data, dtype=int)
我得到一个 ValueError
我是否需要编写一个嵌套的for循环来遍历每一行,然后遍历每一行的每一列才能使每一项变成一个int?
编辑:我也刚刚注意到,当我创建数据框时,数据的形状(rows, 1)不是(rows, 4),而是形状,我想这意味着它delimiter没有用?这是前几行:
1 1 5 874965758
1 2 3 876893171
1 3 4 878542960
1 4 3 876893119
1 5 3 889751712
1 7 4 875071561
梦里花落0921
相关分类