gpt4 book ai didi

python - 为什么 pandas block 的行为与实际数据帧不同?

转载 作者:行者123 更新时间:2023-12-01 07:36:09 25 4
gpt4 key购买 nike

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

我认为这些 block 可能具有不同的数据类型,因此尝试使用 type(chunk) 检查 block 的类型,它与 type(whole_dataframe) 相同。

我尝试过的:

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

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

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

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

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

最佳答案

这有效吗:

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

关于python - 为什么 pandas block 的行为与实际数据帧不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56985881/

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