簡體   English   中英

我如何將這些數據彼此分開

[英]How do i separate these data from each other

我有一個數據集,其中每個單元格中的數據與每個單元格中的列名混合在一起,如下圖所示:

Gender
“Gender”:”male”
“Gender”:”female”
“Gender”:”male”
“Gender”:”female”

我正在通過 anaconda 對其進行清潔,我已經嘗試了所有但無濟於事。 我希望它看起來如下圖所示:

Gender
Male
Female
Male
Female

您可以使用 Pandas 像這樣應用 function:

import pandas as pd

df = pd.DataFrame({"Gender":['“Gender”:”male”','“Gender”:”female”','“Gender”:”male”','“Gender”:”female”'])

def cln(st):
 me = st.split(":")
 return me[1] 

df["Gender"].apply(lambda val: cln(val))

考慮到你的問題。 我已經像下面這樣重新創建了dataframe

import pandas as pd
df = pd.DataFrame({"Gender":['“Gender”:”male”',
 '“Gender”:”female”',
 '“Gender”:”male”',
 '“Gender”:”female”']})

因此, DataFrame如下所示,

              Gender
0    “Gender”:”male”
1  “Gender”:”female”
2    “Gender”:”male”
3  “Gender”:”female”

這是可以解決問題的代碼

for i in df.columns:
    df[i] = [j.replace("”",'').split(":")[-1].capitalize() for j in df[i]]

Output df

   Gender
0    Male
1  Female
2    Male
3  Female

數據有一些奇怪的引號字符,因此您需要進行一些按摩以使其干凈。 您可以簡單地使用 object 系列上的str調用來直接處理字符串值。

df.Gender.str.replace(r'”|“', '', regex=True)\
         .str.split(":", expand=True)[1]\
         .str.capitalize()

0      Male
1    Female
2      Male
3    Female

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM