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

最佳答案

一种方法是读取列标签,然后通过usecolspd.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/

10-11 19:21
查看更多