У меня есть DataFrame как это:фильтра панда DataFrame столбцов
A B C D
2000-01-03 -0.59885 0.18141 -0.68828 0.77572
2000-01-04 0.83935 0.15993 0.95911 -1.12959
2000-01-05 2.80215 -0.10858 -1.62114 -0.20170
2000-01-06 0.71670 -0.26707 1.36029 1.74254
Я хотел бы, чтобы фильтровать столбцы на основе значения первой строки. . Я хочу взять только те столбцы, где первое значение -> 0. и результат я ожидаю это:
B D
2000-01-03 0.18141 0.77572
2000-01-04 0.15993 -1.12959
2000-01-05 -0.10858 -0.20170
2000-01-06 -0.26707 1.74254
Update Благодаря Джеффу предложению я написал этот код:
cols = []
firstRow = df.ix[0,:]
for i in range(len(firstRow)):
if firstRow[i]>0:
cols.append(i)
return df.ix[:, list(cols)].values.copy()
Есть ли более элегантный способ сделать это?
AttributeError: объект «DataFrame» не имеет атрибута «iloc» – Roberto
это кажется, что моя версия pandas не нравится iloc – Roberto
, которая находится в 0.11. вы можете использовать ix вместо iloc/loc – Jeff