为什么数据块的行为与实际数据帧不同?

2024-09-27 04:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pandas处理本地硬盘上的CSV文件。我已经准备好了处理代码,如果我在整个数据集上运行代码,它不会出现任何错误。当相同的代码在块上运行时,问题就出现了

我认为块可能是不同的数据类型,所以尝试使用type(chunk)检查块的类型,它与type(whole_dataframe)相同

我尝试的是:

whole_data = pd.read_csv('data.csv', sep=',', header=0)

whole_data['cuisines'] = whole_data.cuisines.apply(lambda x: ','+x)

这给了我预期的结果。但当我尝试在块上运行与以下相同的代码时:

for chunk in pd.read_csv('data.csv', sep=',', header=0, chunksize=1000):
    chunk['cuisines'] = chunk.cuisines.apply(lambda x: ','+x)

这给了我一个错误:TypeError: can only concatenate str (not "float") to str

我希望输出与在整个数据集上运行代码时得到的输出相同


Tags: csv数据代码readdatatype错误sep
1条回答
网友
1楼 · 发布于 2024-09-27 04:26:37

这是否有效:

for chunk in pd.read_csv('data.csv', sep=',', header=0, chunksize=1000):
    chunk['cuisines'] = chunk.cuisines.apply(lambda x: ','+str(x))

更好的是:

for chunk in pd.read_csv('data.csv', sep=',', header=0, chunksize=1000):
    chunk['cuisines'] = ',' + chunk.cuisines.astype(str).str

相关问题 更多 >

    热门问题