在Keep csv feature labels for LDA pca之后,我决定忽略PCA缩减的功能名称。我正在使用pandas read_csv()函数,并且想忽略字符串/文本列,而这恰好是每个奇数列。因此,在我的csv中读取时,使用过滤器删除字符串列或奇数列将很有帮助
最佳答案
一种方法是读取列标签,然后通过usecols
的pd.read_csv
参数获取第二列。这假定您的列标签是唯一的,但由于您没有阅读昂贵的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/