簡體   English   中英

Pandas:以 Pythonic 的方式分割字符串

[英]Pandas: split string in a pythonic way

我有一個如下所示的熊貓系列date

date       | ...
09.01.2000 |
02.02.2000 |
...

格式為 DD-MM-YYYY。 我想將它們分成三列日、月和年。 我試過:

col = date["date"].str.split(".", expand = True)
date["day"] = col[0]
date["month"] = col[1]
...

這很不方便,所以有更pythonic的方式嗎? 我也試過 pd.to_datetime 但這不是捷徑。

您可以在一行中進行多個列分配:

df[['day', 'month', 'year']] = df['date'].str.split('.', expand=True)

         date day month  year
0  09.01.2000  09    01  2000
1  02.02.2000  02    02  2000

一種選擇是使用單個分配:

date['date'], date['month'] = col

這假設split()返回一個包含兩個元素的列表。

你可以做這樣的事情。

import pandas as pd
df = pd.DataFrame({'date':['09.01.2000', '02.02.2000']})

df['mon'],df['day'],df['year'] = zip(*df['date'].str.split('.'))
print (df)

它將為您提供以下數據框。 如果您不想要df['date'] ,則可以使用 drop() 函數刪除該列。

         date mon day  year
0  09.01.2000  09  01  2000
1  02.02.2000  02  02  2000

暫無
暫無

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

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