【发布时间】:2020-09-22 14:01:44
【问题描述】:
我有一个带有 int64 类型的列“is_internal”的 dask 数据框。我想更新这个类似于 SQL case 语句:
CASE WHEN ltrim(rtrim(is_internal)) = '1' then 'Internal' else 'External' END as type
将数据导入为:
import pandas as pd
import dask.dataframe as dd
import time
t=time.process_time()
df_train = dd.read_csv(r"C:\test.bcp", sep='\t', sample=25000000)
通常在 pandas 中,我会做类似的事情,但这会占用大量空间,我对此有所限制。
df_train.loc[df_train['is_internal'] == 1, 'type'] = 'internal'
df_train.loc[df_train['is_internal'] == 0, 'type'] = 'external'
最好的方法是什么,不会占用大量空间/内存?
【问题讨论】: