为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫数据框到带有'\ t'分隔符的Numpy数组

熊猫数据框到带有'\ t'分隔符的Numpy数组

蝴蝶不菲 2021-05-07 14:57:39
我正在尝试加载几千行四列的数据,其中每一列由一个制表符空间分隔,并将每一行的每一项都转换为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   8749657581   2   3   8768931711   3   4   8785429601   4   3   8768931191   5   3   8897517121   7   4   875071561
查看完整描述

2 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您的列不是用TAB分隔的。它们是用空格隔开的。使用sep='\s+'解析他们。顺便说一下,该分隔符还覆盖了标签。


查看完整回答
反对 回复 2021-05-18
  • 2 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信