我有一個資料框df,例如:
age=14 gender=male loc=NY key=0012328434 Unnamed: 4
age=45 gender=female loc=CS key=834734hh43 pre="axe"
age=23 gender=female loc=CA key=545df35fdf NaN
..
..
age=65 gender=male loc=LA key=dfdf545dfg pre="cold"
我需要這個 df 有一個標題并洗掉冗余資料,例如desired_df:
age gender loc key pre
14 male NY 0012328434 NaN
45 female CS 834734hh43 axe
23 female CA 545df35fdf NaN
..
..
65 male LA dfdf545dfg cold
我試圖做的事情:
df1 = df.str.split()
df_out = pd.DataFrame(df1.str[1::2].tolist(), columns=df1[0][0::2])
但這失敗了,顯然因為我沒有一個 df 名稱。任何幫助將非常感激。
uj5u.com熱心網友回復:
# df = pd.read_csv(r'xyz.csv', header = None)
df1=(pd.DataFrame(df.fillna('NaN=NaN')
.apply(lambda x: dict(list(x.str.replace('"', '')
.str.split('='))), axis=1).to_list())
.drop('NaN', axis = 1))
age gender loc key pre
0 14 male NY 0012328434
1 45 female CS 834734hh43 axe
2 23 female CA 545df35fdf NaN
3 65 male LA dfdf545dfg cold
uj5u.com熱心網友回復:
(未經測驗!)
headers = ['age', 'gender', 'loc', 'key', 'pre']
df.columns = headers
for name in df.columns:
df[name] = df[name].str.removeprefix(f'{name}=')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/484934.html
標籤:Python python-3.x 熊猫 数据框
上一篇:根據兩列的函式在Pandas資料框中選擇列值最大的行
下一篇:我只能使用[0:1]之類的切片視窗對我的pandas資料框進行切片以獲取特定行,為什么[0會引發KeyError?
