簡體   English   中英

我如何以這種方式拆分熊貓數據框,以便為每個拆分值創建一個列

[英]How can i split a pandas dataframe in such a way that for each split value it creates a column

例如

輸入數據框

Name     Subjects
Ramesh   Maths,Science
Rakesh   MAths,Science,Social Studies
John     Social Science, Lietrature

輸出數據幀

Name     Subject1       Subject2     Subjects3
Ramesh   Maths          Science      NaN
Rakesh   MAths          Science      Social Studies
John     Social Science Literature   Nan

您可以從結果一個新的DF str.split然后concat這些:

In [66]:
subjects = df['Subjects'].str.split(',', expand=True)
subjects

Out[66]:
                0           1               2
0           Maths     Science            None
1           MAths     Science  Social Studies
2  Social Science  Lietrature            None

In [71]:    
subjects.columns = ['Subject ' + str(x + 1) for x in range(len(subjects.columns))]
subjects

Out[71]:
        Subject 1   Subject 2       Subject 3
0           Maths     Science            None
1           MAths     Science  Social Studies
2  Social Science  Lietrature            None

In [74]:
concatenated = pd.concat([df,subjects], axis=1)
concatenated.drop('Subjects',axis=1,inplace=True)
concatenated

Out[74]:
     Name       Subject 1   Subject 2       Subject 3
0  Ramesh           Maths     Science            None
1  Rakesh           MAths     Science  Social Studies
2    John  Social Science  Lietrature            None

暫無
暫無

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

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