【发布时间】:2019-08-04 19:29:32
【问题描述】:
我有以下数据框:
import pandas as pd
# create simple dataset of people
data_pandas = pd.DataFrame({'Order': [1, 1, 1,1,2,2,2],
'X': [30,44,30,44,44,30,44],
'Y': [46,46,35,45,90,60,60]})
我想使用以下逻辑创建一个新列“Z”: 识别具有相同“X”值的下一行,并根据“订单”列创建具有该行的“Y”值的新“Z”列。
输出如下所示
data_pandas_result = pd.DataFrame({
'Order': [1, 1, 1,1,2,2,2],
'X': [30,44,30,44,44,30,44],
'Y': [46,46,35,45,90,60,60],
'Z': [35,45,NA,NA,60,NA,NA]})
如何有效地做到这一点?我可以考虑根据顺序对数据框进行子集化并找到相关匹配
【问题讨论】:
标签: python pandas loops dataframe iterator