pandas对某列字符串进行切分并且拼接到另一列中的代码,要求运行时间不超过一秒
时间: 2024-09-18 09:02:16 浏览: 40
pandas 的str列运算.md
在Pandas中,你可以使用`str`操作符结合`apply`函数来对某一列的字符串进行切分并添加到另一列。假设你有一个名为`dataframe`的数据框,其中一列叫做`source_column`需要切割,结果要添加到`target_column`中,你可以这样做:
```python
import pandas as pd
# 假设 source_column 的值是由逗号分隔的字符串
dataframe['target_column'] = dataframe['source_column'].apply(lambda x: x.split(','))
# 如果需要确保运行时间在1秒内,可以考虑以下优化:
# 如果数据量非常大,可以考虑使用 `string_split` 函数配合 `dask DataFrame` 或者 `pandas.Series.str.split` 并行处理
# from dask import delayed, compute
# dataframe['target_column'] = delayed(dataframe['source_column'].str.split(','))().compute(scheduler='processes')
# 或者针对大规模数据,使用 pandas 的 chunksize 分块处理
chunk_size = 10**6 # 根据实际数据大小调整
for chunk in dataframe.groupby(np.arange(0, len(dataframe), chunk_size)):
df_chunk = chunk[1]
df_chunk['target_column'] = df_chunk['source_column'].str.split(',')
```
记得检查数据集大小以及是否真的需要实时完成,因为上述操作可能会消耗较多内存。
阅读全文