我的資料框如下
df = pd.DataFrame({'name':['a', 'b', 'c', 'd'],
'per1':[np.nan, 'sa1', 'sa2', np.nan],
'per2':['sa3', 'sa2', 'sa2', 'sa4']})
看起來像:
name per1 per2
a NaN sa3
b sa1 sa2
c sa2 sa2
d NaN sa4
我想通過將具有空值的per2列值移動到下面的結果來轉換。per1
name per1 per2
a sa3
b sa1 sa2
c sa2 sa2
d sa4
我試過這個,但它復制了 per2 列值。
df['per1']=df['per1'].fillna(df['per2'])
uj5u.com熱心網友回復:
你可以使用loc:
msk = df['per1'].isna()
df.loc[msk, ['per1', 'per2']] = df.loc[msk, ['per2', 'per1']].to_numpy()
輸出:
name per1 per2
0 a sa3 NaN
1 b sa1 sa2
2 c sa2 sa2
3 d sa4 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444019.html
上一篇:PythonPandas-Datetime僅在某些日期給出錯誤的輸出
下一篇:試圖在每組熊貓中標記第一次相遇
