假设我有一个由
给出的pandas数据帧import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5,2))
df
0 1
0 0.264053 -1.225456
1 0.805492 -1.072943
2 0.142433 -0.469905
3 0.758322 0.804881
4 -0.281493 0.602433
我想返回一个包含max(df[0,0], df[1,1]), max(df[1,0], df[2,1]), max(df[2,0], df[3,1]), max(df[3,0], df[4,1])
的4行Series对象。更一般地说,比较列0
和列1
的最大值偏移n
行的最佳方法是什么?
感谢。
答案 0 :(得分:1)
您希望在移动第一列后将max
应用于行。
pd.concat([df.iloc[:, 0].shift(), df.iloc[:, 1]], axis=1).apply(max, axis=1).dropna()