我有一个熊猫数据框,看起来像这样:
data = {'1' : [0, 2, 0, 0], '2' : [5, 0, 0, 2], '3' : [2, 0, 0, 0], '4' : [0, 7, 0, 0]}
df = pd.DataFrame(data, index = ['a', 'b', 'c', 'd'])
df
1 2 3 4
a 0 5 2 0
b 2 0 0 7
c 0 0 0 0
d 0 2 0 0
我知道我可以(分别)通过执行以下操作获得每行的最大值和对应的列名:
df.max(1)
df.idxmax(1)
如何获取每个不为零的单元格的值和列名? 所以在这种情况下,我想要两个表,一个给我每个值!=每行0:
a 5
a 2
b 2
b 7
d 2
其中一个给了我这些值的列名:
a 2
a 3
b 1
b 4
d 2
谢谢!你知道吗
您可以对} ,然后按^{} 、^{} 、^{} 和最后一列^{} 筛选,或按子集选择列:
Series
使用^{相关问题 更多 >
编程相关推荐