gpt4 book ai didi

dask - 如何将 pandas str.split 调用转换为 dask

转载 作者:行者123 更新时间:2023-12-01 15:19:00 25 4
gpt4 key购买 nike

我有一个 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 上下文中时将其拆分为代表每个字段的单独列。

我可以用 pandas 数据框来做到这一点:

df['date'], df['Lat'], df['Lon'] = df.index.str.split(';', 2).str

但是对于我已经尝试过的几次尝试来说,这并不奏效。如果我直接用 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

这是一个在 Pandas 中运行的示例

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

最佳答案

forecastDf['date'] = forecastDf['dateLocation'].str.partition(';')[0]
forecastDf['Lat'] = forecastDf['dateLocation'].str.partition(';')[2]
forecastDf['Lon'] = forecastDf['dateLocation'].str.partition(';')[4]

让我知道这是否适合您!

关于dask - 如何将 pandas str.split 调用转换为 dask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com