簡體   English   中英

如何在插入連字符和空格的同時將多個Pandas系列類型的字符串連接到單個Pandas系列中?

[英]How to concatenate multiple Pandas series' of type string into a single Pandas series while inserting hyphens and spaces?

問題:

我有一些原始數據,涉及與日期和時間信息有關的問題-像沒有冒號將小時和分鍾分開,以及包含2400 我正在將各個列轉換為字符串,並根據需要進行修改,以創建可解析的單個字符串列。 我有大約20個數據集,每個大約35,000行。

樣本數據:

a = ["2000"] * 100000
b = ["176"] * 100000
c = ["00:15","00:30","00:45","01:00"] * 25000   
d = {"year":a,"DOY":b,"time":c}
df = pd.DataFrame(d)

df.head()

    DOY time    year
0   176 00:15   2000
1   176 00:30   2000
2   176 00:45   2000
3   176 01:00   2000
4   176 00:15   2000

我的慢速解決方案:

我創建了以下行以完成任務,但速度

df["date"] = [df["year"][i]+"-"+df["DOY"][i]+" "+df["time"][i] for i in range(0,len(df),1)]

df.head()

    DOY time    year    date
0   176 00:15   2000    2000-176 00:15
1   176 00:30   2000    2000-176 00:30
2   176 00:45   2000    2000-176 00:45
3   176 01:00   2000    2000-176 01:00
4   176 00:15   2000    2000-176 00:15

題:

for the purpose of parsing into datetime format? yearDOYtime列的以將其解析為datetime格式的最快方法是什么? 還是這完全是錯誤的方法?

一如既往,感謝您的建議。

這比循環df快得多。

df['Date'] = df['year'].map(str) + "-" + df['DOY'].map(str) + " " +  df['time'].map(str)

.map()將輸入值與傳入的類型,字典,系列或函數中的對應值進行映射。 您可以在docs中找到更多信息。

更多信息

暫無
暫無

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

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