[英]How to split single column of pandas dataframe into multiple columns with group?
[英]How to Split the Contents of a Single Pandas Dataframe Column into Multiple New Columns
假設我有兩個運動隊的記錄數據。
d = {'Team': [1, 2], 'Record': ['5-0', '3-2']}
df = pd.DataFrame(data=d)
df
Team Record
0 1 5-0
1 2 3-2
我想將 append 記錄拆分為每個團隊的新列,如下所示:
d = {'Team': [1, 2], 'Record': ['5-0', '3-2'], 'Wins': [5, 3], 'Losses' : [0, 2]}
df = pd.DataFrame(data=d)
df
Team Record Wins Losses
0 1 5-0 5 0
1 2 3-2 3 2
由於連字符,Records 列中的數據是 object。
(df.dtypes)
Team int64
Record object
dtype: object
我將如何 go 這樣做? 它會是某種正則表達式,然后是通過 Record 列的每一行對 go 的列表理解嗎? 我想在 dataframe 中為大約 400 個團隊執行此操作。 在此先感謝您的幫助。
如果數據表現良好,您可以將Series.str.extract
與命名捕獲組(Number)-(Number)
一起使用。 然后連接回來。
pd.concat([df, df['Record'].str.extract(r'(?P<Wins>\d)-(?P<Losses>\d)')], axis=1)
# Team Record Wins Losses
#0 1 5-0 5 0
#1 2 3-2 3 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.