使用索引标签创建新的Pandas DataFrame(iloc错误:灵活类型)

时间:2015-10-27 18:29:48

标签: python pandas indexing error-handling dataframe

这正是我试图做的事情:Creating new pandas DataFrame from existing DataFrame and index

而不是索引编号,我有标签,我正在尝试索引...

伪代码:

want_these_indices = ['A1BG',
 'A4GALT',
 'AAAS',
 'AADAT',
 'AAK1',
 'AAMP',
 'AANAT',
 'AARS',...]

sorted(DF.index)
['A1BG',
 'A4GALT',
 'AAAS',
 'AACS',
 'AADAT',
 'AAGAB',
 'AAK1',
 'AAMP',
 'AANAT',
 'AARS',
 'AARS2',...]

但是当我DF2 = DF.iloc[want_these_indices]时,我得到了 TypeError: cannot perform reduce with flexible type我甚至试过DF.iloc[want_these_indices,:]

我认为这可能是因为某些指数是浮点数或其他东西,但它们都是字符串。在DF.indexwant_these_indices

1 个答案:

答案 0 :(得分:1)

Pandas有不同的索引选择机制,其中一些使用整数作为位置,而另一些则使用标签。您有一个基于字符串的索引,因此需要使用不是位置索引器的索引器。更具体地说,WaitOne()是严格基于整数的索引。您将需要使用df.iloc