我有一个Pandas的数据框,看起来像这样
data = {"Column1":["0", "1", "0", "0", "1"], "Column2":["2","0","2", "0", "2"], "Column3":["3","0","3", "3", "3"]}
df = pd.DataFrame(data)
print(df)
Column1 Column2 Column3
0 0 2 3
1 1 0 0
2 0 2 3
3 0 0 3
4 1 2 3
我想得到一个 Dataframe ,每个df
的索引的第一个值从左到右出现在列中。
data1 = {"Column1":["2", "1", "2", "3", "1"]}
df1 = pd.DataFrame(data1)
print(df1)
Column1
0 2
1 1
2 2
3 3
4 1
有人能告诉我怎么做吗?
我是新的python,所以任何帮助将不胜感激!非常感谢!
我原以为这会奏效np. argmax(y,axis = 1),但不幸的是它不起作用。
2条答案
按热度按时间kgsdhlau1#
获取每行的第一个非零值(使用
numpy.argmax
和numpy.take_along_axis
):或者通过
pd.DataFrame.apply
函数:x一个一个一个一个x一个一个二个x
i5desfxk2#
下面是使用
np.argmax()
的方法输出: