使用时出错'pd.合并'按时合并'

2024-06-26 17:55:08 发布

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

我正在尝试使用以下代码合并两个csv文件:

import pandas as pd
data1 = pd.read_csv("QLD.csv") 
data2 = pd.read_csv("VIC.csv")
result = pd.merge(data1[['REGION', 'TOTALDEMAND', 'RRP']], data2[['REGION', 'TOTALDEMAND', 'RRP']], on='SETTLEMENTDATE')
result.to_csv("masterfile.csv", index=False)

这是我的每个csv文件的头的样子: QLDVIC

当我运行代码时,我收到以下错误:

Traceback (most recent call last):
  File "/Users/george/Desktop/collate/asdas.py", line 4, in <module>
    result = pd.merge(data1[['REGION', 'TOTALDEMAND', 'RRP']], data2[['REGION', 'TOTALDEMAND', 'RRP']], on='SETTLEMENTDATE')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/reshape/merge.py", line 61, in merge
    validate=validate)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/reshape/merge.py", line 551, in __init__
    self.join_names) = self._get_merge_keys()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/reshape/merge.py", line 857, in _get_merge_keys
    rk, stacklevel=stacklevel))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/generic.py", line 1382, in _get_label_or_level_values
    raise KeyError(key)
KeyError: 'SETTLEMENTDATE'

知道怎么回事吗?谢谢

编辑1: settlement data centre


Tags: csvinpypandaslinelibraryframeworkmerge
2条回答

尝试:

result = pd.merge(data1[['REGION', 'TOTALDEMAND', 'RRP','SETTLEMENTDATE']], data2[['REGION', 'TOTALDEMAND', 'RRP','SETTLEMENTDATE']], on='SETTLEMENTDATE')

您正在SETTLEMENTDATE上进行合并,但在您正在合并的数据帧的片中没有相同的内容。你知道吗

您希望在'SETTLEMENTDATE'上进行合并,但此系列从您的输入数据帧中排除。{}因此饲养熊猫。请尝试:

result = pd.merge(data1[['REGION', 'TOTALDEMAND', 'RRP', 'SETTLEMENTDATE']],
                  data2[['REGION', 'TOTALDEMAND', 'RRP', 'SETTLEMENTDATE']],
                  on='SETTLEMENTDATE')

相关问题 更多 >