我一直在网上寻找这方面的例子,但没有发现任何东西。
让df1, df2, .. dfn是熊猫的数据,按原版编制索引。
当我运行命令时发生了什么:
pandas.concat([df1,..,dfn],axis=1,join_axes=[df1.index])
它不会给我一个错误,并提供一个数据。我已经贴上了与此相关的文档中所能找到的所有内容。当指数之间出现不匹配时会发生什么?熊猫怎么知道如何使用其他数据的索引,我想我可能需要把其他n-1熊猫的数据的所有索引都放进去。
有小费吗?
join_axes :索引对象特定于其他n-1轴的索引列表,而不是执行内部/外部集逻辑。
发布于 2015-06-15 09:50:17
n的意义
首先,n in n-1指的是每个数据文件中的维度的数量,而不是数据的数量。你可以从第938 at行中的源代码看到这一点
def _get_new_axes(self):
ndim = self._get_result_dim()
new_axes = [None] * ndim
if self.join_axes is None:
for i in range(ndim):
if i == self.axis:
continue
new_axes[i] = self._get_comb_axis(i)
else:
if len(self.join_axes) != ndim - 1:
raise AssertionError("length of join_axes must not be "
"equal to {0}".format(ndim - 1))(因此,它实际上不应该在文档中读取文档。我猜这个公式是基于一个常用的例子,在这个例子中,join_axes传递的索引是的索引,其中一个是dataframes。不过,通过的指数也可能是一个新的综合指数。)
join_axes的使用
实际使用join_axes是用替换--您想要用不同的索引连接的数据文件的索引(或者实际上每个维度都有一个索引)。
在此过程中,每个数据each中的值只是分配给新索引的,而忽略了它包含的索引。此外,如果其中一个数据(在任何维度中)比相应的索引更长,那么它将被截断。
将时间序列合并成一个数据
您可能想要实现的是将一组Series合并到一个DataFrame中,并保留它们的原始(部分)非匹配索引。
pandas.concat([df1,..,dfn], axis=1, join='outer')这样做(用join=outer)。
(但是,当您想要绘制最终的数据文件时,您可能需要找到一个解决办法,因为所有列都被NaNs打断。。)
发布于 2019-08-15 21:58:16
不推荐Join_axes。现在支持的方法是
pandas.concat([df1,..,dfn],axis=1).reindex(df1.columns)发布于 2019-02-23 08:42:05
制作join_axes=[df1.columns]
pandas.concat([df1,..,dfn],axis=1,join_axes=[df1.columns])https://stackoverflow.com/questions/27391081
复制相似问题