我有一個名為“hora”的整數型別列的 dask 資料框,我想以時間格式創建其他列。我在下一個例子中展示:
- 我的資料是:
hora
10
17
22
19
14
- 我希望第一行的結果是:
hora time
10 10:00:00
為此,我正在嘗試:
meta = ('time', 'datetime64[ns]')
df['hora'].map_partitions(dt.time, meta=meta).compute()
當我運行上面的代碼時拋出:
TypeError: cannot convert the series to <class 'int'>
但是,我使用系列熊貓測驗了相同的示例并起作用。

我在兩種情況下都以相同的方式應用函式“dt.time”,錯誤是什么?
首先十分感謝
uj5u.com熱心網友回復:
通過傳遞dt.time到map_partition,您可以有效地dt.time(df)處理資料幀的每個部分。您想要的是將函式應用于每個值。您可以執行以下任一操作:
ddf.assign(s2=ddf.hora.map(dt.time))
或者
def mapper(df):
df['s2'] = df.hora.apply(dt.time)
return df
ddf.map_partitions(mapper)
(提供 dtype 是可選的)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365737.html
上一篇:在嵌套回圈中更新字典
下一篇:在python中將串列轉換為字典
