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