我有一個包含一些雜亂資料的 csv 檔案。
我在熊貓中有以下資料框
| 姓名 | 年齡 | 性別 | 薪水 | 地位 |
|---|---|---|---|---|
| 約翰 | 32 | 南 | NaN | NaN |
| 南 | 男性 | 4000 | 單身的 | NaN |
| 可能 | 20 | 女性 | 5000 | 已婚 |
| 特蕾莎 | 45 |
期望的輸出:
Name Age Sex Salary Status
0 John 32 Male 4000 Single
1 May 20 Female 5000 Married
2 teresa 45
那么有誰知道如何用 Pandas 做到這一點?
uj5u.com熱心網友回復:
您可以使用一些 numpy 魔法來刪??除 NaN 并重塑底層陣列:
a = df.replace({'Nan': float('nan')}).values.flatten()
pd.DataFrame(a[~pd.isna(a)].reshape(-1, len(df.columns)),
columns=df.columns)
輸出:
Name Age Sex Salary Status
0 John 32 Male 4000 Single
1 May 20 Female 5000 Married
uj5u.com熱心網友回復:
嘗試groupby:
>>> df.groupby(df['Name'].notna().cumsum()).apply(lambda x: x.apply(lambda x: next(iter(x.dropna()), np.nan))).reset_index(drop=True)
Name Age Sex Salary Status
0 John 32 4000 Single NaN
1 May 20 Female 5000 Married
>>>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/315280.html
上一篇:洗掉之前出現兩列值的行
下一篇:如何合并R中的兩列?
