[英]Merging back new calculations in original pandas dataframe
假設我有一個名為“ df”的熊貓數據框,如下所示:
X Y Z
0 -3 6 -7
1 -4 -10 -1
2 9 -10 -9
3 5 0 -8
4 -2 1 -8
我想從df中的某些行中創建一個新框架:
new_df = df.loc[(df['X'] == -3) & (df['X'] == 9)]
然后修改新的數據框:
new_df.Y = 150
是否有一種簡單的方法可以將新數據框架重新插入舊框架,從而僅替換在新框架中修改的那些值?
所以最后,我將得到原始的“ df”,它看起來像這樣:
X Y Z
0 -3 150 -7
1 -4 -10 -1
2 9 -150 -9
3 5 0 -8
4 -2 1 -8
如果要用條件替換值,則可以一步完成,即指定行和列條件並分配值,並且可以避免將新數據框與原始數據框合並:
df.loc[(df['X'] == -3) | (df['X'] == 9), "Y"] = 150
# I assume you mean or instead of and from your result
df
# X Y Z
#0 -3 150 -7
#1 -4 -10 -1
#2 9 150 -9
#3 5 0 -8
#4 -2 1 -8
只要指數new_df
沒有被修改,您可將new_df.Y
回DF修改已經作出后new_df
:
df.loc[(df['X'] == -3) | (df['X'] == 9), "Y"] = new_df.Y
甚至:
df.loc[(df['X'] == -3) | (df['X'] == 9)] = new_df
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.