python - 使用 read_csv 只读取奇数/数字列

标签 python pandas csv

跟进Keep csv feature labels for LDA pca我决定忽略 PCA 缩减的特征名称。我正在使用 pandas read_csv() 函数,并且想忽略字符串/文本列,这些列恰好是每个奇数列。因此,在读取 csv 时使用过滤器删除字符串列或奇数列会很有帮助

最佳答案

一种方法是读取列标签,然后通过 pd.read_csvusecols 参数获取每隔一列。 。这假设您的列标签是唯一的,但由于您没有阅读昂贵的 object dtype 系列,因此会很有效。

import pandas as pd
from io import StringIO

x = """some,header,labels,for,each,column
1,hello,2,test,3,another
4,another,5,test,6,row
7,and,8,one,9,more"""

# get column names, replace StringIO(x) with 'file.csv'
df_cols = pd.read_csv(StringIO(x), nrows=0).columns

# skip even columns, replace StringIO(x) with 'file.csv'
df = pd.read_csv(StringIO(x), usecols=df_cols[::2])

print(df)

   some  labels  each
0     1       2     3
1     4       5     6
2     7       8     9

关于python - 使用 read_csv 只读取奇数/数字列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53696969/

相关文章:

python - 如何在opencv中捕获图片

Python 特定文件的相对路径

python - 使用 Python 从列表中的货币值中删除标点符号

php - 如何在 php 中将 Json 转换为 CSV

Python 列表理解 csv 文件行提取未正确评估

python - 在 Python 中从列表写入 .csv 文件

python - 在 Python 中解析 hw_clock 输出

python - 使用 Beautiful Soup 解析 html 表单输入标签

python - 在 pandas 对象列上调用 `str.len` 时遇到问题

python - 如何在Python中对无序离散数据进行热编码?