我有以下玩具代码:
import pandas as pd
df = pd.DataFrame()
df["foo"] = [1,2,3,4]
df2 = pd.DataFrame()
df2["bar"]=[4,5,6,7]
df = pd.concat([df,df2], ignore_index=True,axis=1)
print(list(df))
输出:[0,1]
预期输出:([foo,bar]
顺序不重要)
是否有任何方法可以串联两个数据框而又不丢失原始列标题,如果我可以保证标题将是唯一的呢?
我想到了遍历各列,然后将它们添加到DataFrame之一中的过程,但是是否存在concat
我不知道的pandas函数或参数?
谢谢!
如merge,join和concat文档中所述,ignore index将删除所有名称引用,而改用范围(0 ... n-1)。因此,一旦删除ignore_index
参数或将其设置为false(默认值),它便会为您提供所需的结果。
df = pd.concat([df, df2], axis=1)
这将基于索引将df和df2连接起来(相同的索引行将被串联,如果其他数据框没有该索引的成员,它将被串联为nan)。
如果您在数据框上有不同的索引,并希望以这种方式进行连接。您可以创建一个临时索引并在其上进行连接,也可以在使用concat(...,ignore_index = True)之后设置新数据框的列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句