我有一个这样的数据框:
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
更新 感谢 Jeff 的建议,我编写了以下代码:
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()
有没有更优雅的方法来做到这一点?