亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

連接 Pandas DataFrame 中的列值,用逗號替換“NaN”值

連接 Pandas DataFrame 中的列值,用逗號替換“NaN”值

慕容708150 2022-07-26 16:03:08
我正在嘗試連接 Pandas DataFrame 列,用逗號替換“NaN”值。df = pd.DataFrame({'col1' : ["1","2","3","4","5",np.nan],                   'col2'  : ["p1","p2","p1",np.nan,"p2",np.nan],                    'col3' : ["A","B","C","D","E","F"]})df col1    col2  col30    1    p1    A1    2    p2    B2    3    p1    C3    4    NaN   D4    5    p2    E5    NaN  NaN   F我需要一個輸出:-   col1  col2  col3  col40    1    p1    A    1, p1, A1    2    p2    B    2, p2, B2    3    p1    C    3, p1, C3    4    NaN   D    4, , D4    5    p2    E    5, p2, E5    NaN  NaN   F     , , F基本上我需要在col4.我在這里先向您的幫助表示感謝
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

用 替換缺失值DataFrame.fillna,然后join按行使用:


df['col4'] = df.astype(str).fillna('').apply(', '.join, axis=1)

或添加,并用于加入,sum最后刪除最后,:Series.str.rstrip


df['col4'] = df.astype(str).fillna('').add(', ').sum(axis=1).str.rstrip(', ')

或者分別處理每一列:


df['col4'] = (df['col1'].astype(str).fillna('') + ', ' + 

              df['col2'].astype(str).fillna('') + ', ' + 

              df['col3'].astype(str))

print (df)

  col1 col2 col3      col4

0    1   p1    A  1, p1, A

1    2   p2    B  2, p2, B

2    3   p1    C  3, p1, C

3    4  NaN    D    4, , D

4    5   p2    E  5, p2, E

5  NaN  NaN    F     , , F


查看完整回答
反對 回復 2022-07-26
  • 1 回答
  • 0 關注
  • 70 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號