1
我有一個DASK數據幀,其中該索引是一個字符串,它看起來像這樣:如何轉換大熊貓str.split打電話到DASK
12/09/2016 00:00;32.0046;-106.259
12/09/2016 00:00;32.0201;-108.838
12/09/2016 00:00;32.0224;-106.004
(其基本上編碼的日期時間的字符串;緯度;經度的行)
我想拆分,而仍然在dask上下文各個列代表每個領域。
我能做到這一點用大熊貓作爲數據幀:
df['date'], df['Lat'], df['Lon'] = df.index.str.split(';', 2).str
但是,這並不在DASK好我試過的嘗試工作。如果我直接替換DF的DASK DF我得到的錯誤:
'Index' object has no attribute 'str'
如果我使用的列名,而不是指數爲:
forecastDf['date'], forecastDf['Lat'], forecastDf['Lon'] = forecastDf['dateLocation'].str.split(';', 2).str
我得到的錯誤:
TypeError: 'StringAccessor' object is not iterable
這是一個可在熊貓工作的可運行示例
import pandas as pd
df = pd.DataFrame()
df['dateLocation'] = ['12/09/2016 00:00;32.0046;-106.259','12/09/2016 00:00;32.0201;-108.838','12/09/2016 00:00;32.0224;-106.004']
df = df.set_index('dateLocation')
df['date'], df['Lat'], df['Lon'] = df.index.str.split(';', 2).str
df.head()
以下是錯誤我得到的,如果我直接將其轉換成DASK
import dask.dataframe as dd
dd = dd.from_pandas(df, npartitions=1)
dd['date'], dd['Lat'], dd['Lon'] = dd.index.str.split(';', 2).str
>>TypeError: 'StringAccessor' object is not iterable
我試圖在熊貓中重現你的例子,並且很難。你能提供一個在Pandas中工作的可複製的小例子嗎? – MRocklin
我已經在熊貓中更新了一個可以編輯的工作示例。謝謝! –
你曾經解決過這個問題嗎?我試圖做'ddf ['col']。str [: - 1]'沒有成功... – citynorman