[英]How to compare two values in different rows AND different columns in pandas
我目前正在比较同一行但不同列上的两个值,但我需要它来比较一个值与前一行。
例如:我需要将索引 0 处行的“关闭”列与索引 1 处行的“打开”列进行比较。
df['HigherLower'] = 'No Change'
for index, row in df.iterrows():
if row['Open'] < row['Close'] :
df['HigherLower'] = df['HigherLower'].replace(['No Change'],'Lower')
else:
df['HigherLower'] = df['HigherLower'].replace(['No Change'],'Higher')
使用np.where
:
import pandas as pd
import numpy as np
df = pd.DataFrame({'Open': [10, 20, 30], 'Close': [5, 25, 15]})
df['HigherLower'] = np.where(df['Open'].shift() < df['Close'], 'Lower', 'Higher')
print(df)
# Output:
Open Close HigherLower
0 10 5 Higher
1 20 25 Lower
2 30 15 Higher
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.