3 回答
TA贡献1906条经验 获得超10个赞
shift在这种情况下,数据帧的方法可以帮助您解决问题。
# Initialize dataframe
import pandas as pd
df = pd.DataFrame({
'CountryName': ['US', 'UK', 'Australia', 'Germany', 'France'],
'GDP': [350, 370, 340, 500, 450],
})
df = df.set_index('CountryName')
# Get the index value of the row directly before the row with max 'GDP' value
target = df['GDP'].shift(-1).idxmax()
结果如下:
In [1]: target
Out[1]: 'Australia'
TA贡献1816条经验 获得超4个赞
TA贡献1772条经验 获得超6个赞
这行得通吗?
df = pd.DataFrame({'CountryName': ['US', 'UK', 'Australia', 'Germany', 'France'], 'GDP': [350, 370, 340, 500, 450]})
print(df['CountryName'][df['GDP'].idxmax()-1])
# Australia
我可以看到的一个问题是,最高的GDP索引0是否会返回数据框中的CountryName位置-1或最后一个国家/地区。
添加回答
举报