我需要找到列中的所有行" A"等于0,然后打印出#34; B"列中的相邻值。任何关于如何在熊猫中做到这一点的帮助将不胜感激。
答案 0 :(得分:0)
假设您的数据框名为df
。要获取列中的所有行" A"等于0:
df_a = df[df["A"] == 0]
然后,获取这些行的索引:
df_a_index = df_a.index
然后,您需要这些索引的下一行:
df_b_index = df_a_index + 1
然后,
df.iloc[df_b_index]["B"]
将在列" B"。
中为您提供相邻(下一行)答案 1 :(得分:0)
这是一种方式:
import pandas as pd
df = pd.DataFrame([[0, 5], [1, 10], [2, 6], [3, 2],
[4, 9], [5, 1], [0, 3], [1, 3]], columns=['A', 'B'])
df.loc[[False] + list(df.set_index('A').index.get_loc(0))[:-1], 'B']
# 1 10
# 7 3
# Name: B, dtype: int64