Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在for循环中将数据帧合并在一起_Python_Pandas_Merge - Fatal编程技术网

Python 在for循环中将数据帧合并在一起

Python 在for循环中将数据帧合并在一起,python,pandas,merge,Python,Pandas,Merge,我有一个熊猫数据帧字典,每个帧包含与时间戳对应的时间戳和市值,其关键是: coins = ['dashcoin','litecoin','dogecoin','nxt'] 我想在字典“merge”中创建一个新键,并使用pd.merge方法根据4个现有数据帧的时间戳合并它们(我需要完整的行,因此使用“internal”join方法是合适的) 其中一个数据帧的示例: data2['nxt'].head() Out[214]: timestamp nxt_cap 0 2013-12-04

我有一个熊猫数据帧字典,每个帧包含与时间戳对应的时间戳和市值,其关键是:

coins = ['dashcoin','litecoin','dogecoin','nxt']
我想在字典“merge”中创建一个新键,并使用pd.merge方法根据4个现有数据帧的时间戳合并它们(我需要完整的行,因此使用“internal”join方法是合适的)

其中一个数据帧的示例:

data2['nxt'].head()
Out[214]:
timestamp   nxt_cap
0   2013-12-04  15091900
1   2013-12-05  14936300
2   2013-12-06  11237100
3   2013-12-07  7031430
4   2013-12-08  6292640
我当前使用以下代码得到一个结果:

data2['merged'] = data2['dogecoin']

for coin in coins:
    data2['merged'] = pd.merge(left=data2['merged'],right=data2[coin], left_on='timestamp', right_on='timestamp')
但这会在“合并”中重复“dogecoin”,但是如果
data2['merged']
不是
=data2['dogecoin']
(或一些类似数据),则合并函数将无法工作,因为“合并”中不存在值


编辑:我想要的结果是创建一个在字典“data2”(data2['merged'])中的新元素中看到的合并数据帧,其中包含来自data2中其他元素的合并数据帧

既然您已经制作了
硬币
列表,为什么不做类似的事情呢

data2['merged'] = data2[coins[0]]
for coin in coins[1:]:
    data2['merged'] = pd.merge(....

除非我有误解,否则这个问题不是特定于数据帧的,它只是关于当第一个元素必须与其他元素区别对待时如何编写循环。

尝试用实际命名的df替换广义的
pd.merge()
,但您必须以至少第一个元素开始数据帧:

data2['merged'] = data2['dashcoin']

# LEAVE OUT FIRST ELEMENT
for coin in coins[1:]: 
      data2['merged'] = data2['merged'].merge(data2[coin], on='timestamp')

您想要的最终结果是什么?一个数据帧字典或一个合并的数据帧?或现有字典中的新数据帧元素?对不起,我应该更清楚,请查看我的编辑