基本上,我想一次处理一个pandas Dataframe 的一个切片,我希望对该切片的更改反映在原始 Dataframe 中。作为一个例子,在下面的代码中,我取df
的一个切片,即sub_df
,然后取sub_sub_df
的一个切片。现在我想对sub_sub_df
进行更改,并希望这些更改反映到df
中。
df = pd.DataFrame()
df['a'] = np.random.choice([0,1,2,3,4,5], size=100)
df['b'] = np.random.choice([-1,+1], size=100)
df['out'] = np.zeros(shape=(100,))
for i in [0,3,4]:
sub_df = df[df.a == i]
for j in [-1,+1]:
sub_sub_df = sub_df[sub_df.b == j]
sub_sub_df.out = np.random.normal()
df.head()
这表明df的'c'列仍然是零,我对sub_sub_df
所做的更改没有传播回来。
2条答案
按热度按时间w41d8nur1#
下面更新的代码应该工作我猜
lmvvr0a82#
下面是一种在每一步跟踪最小索引的方法: