Python 熊猫合并在大数据帧上失败
我从Pandas 0.17.0开始,我不明白如何创建sql查询以用作pd.merge,我创建了一个小数据集,我的测试工作正常,但对于大数据,这种行为很奇怪 我的测试包含两个文件.csv,其中包含以下数据Python 熊猫合并在大数据帧上失败,python,csv,pandas,Python,Csv,Pandas,我从Pandas 0.17.0开始,我不明白如何创建sql查询以用作pd.merge,我创建了一个小数据集,我的测试工作正常,但对于大数据,这种行为很奇怪 我的测试包含两个文件.csv,其中包含以下数据file1.csv id,date,hour,phone_1,phone_2,amount 60000036,08/26/2015,00:17:14,3313268623,445466,1.048 60000036,08/31/2015,05:53:15,3313268623,4433162603
file1.csv
id,date,hour,phone_1,phone_2,amount
60000036,08/26/2015,00:17:14,3313268623,445466,1.048
60000036,08/31/2015,05:53:15,3313268623,443316260350,1.048
id,date,hour,phone_1,phone_2
60000036,08/31/2015,05:53:12,3313268623,443316260350
和我的file2.csv
id,date,hour,phone_1,phone_2,amount
60000036,08/26/2015,00:17:14,3313268623,445466,1.048
60000036,08/31/2015,05:53:15,3313268623,443316260350,1.048
id,date,hour,phone_1,phone_2
60000036,08/31/2015,05:53:12,3313268623,443316260350
我在ipython(4.0.0)中运行以下命令
但对于大数据,此处合并失败。我的输出使用大数据(两个文件,大约100mb):
使用大文件时,合并总是将hour_y
和phone_2_y
设置为NaN,但并非所有记录都是如此
在SQL中工作正常,但速度太慢:
SELECT *
from calls_a LEFT JOIN calls_b v ON
v.id = t.id AND v.phone_a = t.phone_a AND v.date = t.date;
我不知道发生了什么。合并到底是怎么失败的?有没有错误,或者您只得到两条记录作为输出?
hour\u y
,和phone\u 2\u y
在大文件中运行时总是设置为NaN,但不是真的,在我对小文件进行测试时,数据正确合并,如果id,phone_1和date在两个数据帧中都相等,否则它会将列hour_y
和phone_2_y
设置为NaN
预期的输出。过程中有任何警告或错误消息吗?您应该将问题改写为:熊猫合并在大数据帧上失败