更新数据帧 2 会影响作为数据帧 2 起源的数据帧 1

我将反向数据帧附加到其原始数据帧。似乎一切正常,但我意识到这一点:df1起初有ids(1,1,1,2,2) 。我将函数df2['id'] = df2['id'].apply(lambda x: x + id_amount)应用于df2not todf1但无论如何,当我附加df2到df1它的ids更改时。怎么可能?为什么df1取df2id列的值


import pandas as pd

df1 = pd.DataFrame({'x':[1,1,2,9,9], 'y':[1,2,2,100,101],'id':[1,1,1,2,2]})

df2= df1[::-1]   #df2 as reverse of df1

print(df1)

id_amount=df2['id'].nunique()

df2['id'] = df2['id'].apply(lambda x: x + id_amount) 

df2=df2.sort_values(by=['id'])

df1=df1.append(df2)

df1 = df1.reset_index(drop=True)

print(df1)

这里df1之前和之后:


#before

x   y   id 

1   1    1     

1   2    1     

2   2    1     

9  100   2     

9  101   2     

变成:


#after

x   y     id 

1   1      3     

1   2      3     

2   2      3     

9  100     4     

9  101     4     

2   2      3     

1   2      3     

1   1      3     

9  101     4     

9  100     4

应该变成:


x   y     id 

1   1      1     

1   2      1     

2   2      1     

9  100     2     

9  101     2     

2   2      3     

1   2      3     

1   1      3     

9  101     4     

9  100     4  


犯罪嫌疑人X
浏览 138回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python