![](/img/trans.png)
[英]Copy column value from one dataframe to another based on id in Pandas
[英]Copy value from one column based on the value of another column
我正在嘗試根據第四列中的值填充其他兩列中的一列中的值。
我有一個帶有四列的熊貓數據框:A,B,C,D
df_copy = df.copy()
for i, row in df.iterrows():
if 'Test' in row.D:
df_copy.loc[i, 'A'] = row.B
elif 'Other' in row.D:
df_copy.loc[i, 'A'] = row.C
這可以,但是非常慢。 有沒有更有效的方法?
您可以為此使用“布爾索引”,而不是遍歷所有行:
df_copy.loc[df['D']=='Test', 'A'] = df['B']
df_copy.loc[df['D']=='Other', 'A'] = df['C']
如果您知道D列僅由這兩個值組成,則它甚至可以更短:
df_copy['A'] = df['B']
df_copy.loc[df['D']=='Other', 'A'] = df['C']
如果要與in
運算符相同,以測試該子字符串是否在列中,則可以執行以下操作:
df['D'].str.contains('Other')
成為布爾值而不是df['D']=='Other'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.