python - 熊猫读取没有标题或索引的数据
问题描述
这是.csv文件:
0 0 1 1 1 0 1 1 0 1 1 1 1
0 1 1 0 1 0 1 1 0 1 0 0 1
0 0 1 1 0 0 1 1 1 0 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 2
0 1 1 1 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 0 1 0 0 0 1 1
0 0 0 0 1 1 0 0 1 0 1 0 2
0 1 1 0 1 1 1 1 0 1 1 1 1
0 0 1 0 0 0 0 0 0 1 1 0 1
0 1 1 1 0 1 1 0 0 0 0 1 1
其中第一列必须是索引,(0,1,2,3,4 ...)
但由于某些原因,它们为零。使用 pandas.read_csv 读取 csv 文件时,有什么方法可以使它们正常吗?
我用
df = pd.read_csv(file,delimiter='\t',header=None,names=[1,2,3,4,5,6,7,8,9,10,11,12])
并得到类似的东西:
1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 1 1 0 1 1 0 1 1 1 1
0 1 1 0 1 0 1 1 0 1 0 0 1
0 0 1 1 0 0 1 1 1 0 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 2
0 1 1 1 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 0 1 0 0 0 1 1
0 0 0 0 1 1 0 0 1 0 1 0 2
0 1 1 0 1 1 1 1 0 1 1 1 1
0 0 1 0 0 0 0 0 0 1 1 0 1
0 1 1 1 0 1 1 0 0 0 0 1 1
这几乎是我需要的,但第一列(索引)仍然为零。例如,熊猫可以忽略第一列零并自动生成新索引来获得这个:
0 1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 0 1 1 0 0 0 1 1 1 0 1
1 0 1 0 1 1 0 0 0 1 1 1 1 2
2 0 1 1 1 0 0 1 1 1 1 1 1 2
解决方案
你可能想要 index_col=False
df = pd.read_csv(file,delimiter='\t',
header=None,
index_col=False)
从文档中,
如果您有一个格式错误的文件,每行末尾都有分隔符,您可能会考虑 index_col=False 强制 pandas不使用第一列作为索引
推荐阅读
- cmake - 如何将外部 CMake 项目安装到 CMAKE_CURRENT_BINARY_DIR
- python - 根据特定列对熊猫数据框进行排名和排序
- unity3d - Unity 2018.1:按钮在所有画布中都没有响应,但第一个
- amazon-web-services - 是否可以在 AWS Lambda 上运行 docker image/DockerFile?
- c - windows API 访问 SD 卡上的分区
- javascript - 间隔两个 div 并阻止它们相互连接
- php - Wordpress 高级搜索表单 - 安全性
- javascript - 如何将天数添加到定义的日期
- bokeh - 在全息视图中可以进行颜色映射吗?
- javascript - 用对象求和数组