Pandas 中的 Concat 2 列 - AttributeError:“DataFrame”对象没有属性“concat”

Posted

技术标签:

【中文标题】Pandas 中的 Concat 2 列 - AttributeError:“DataFrame”对象没有属性“concat”【英文标题】:Concat 2 columns in pandas - AttributeError: 'DataFrame' object has no attribute 'concat' 【发布时间】:2020-03-26 16:26:30 【问题描述】:

我正在尝试在 pandas 中连接 2 列。代码:

import pandas as pd
import numpy as np
from statsmodels import api as sm
import pandas_datareader.data as web
import datetime

start = datetime.datetime(2015,2,12)
end = datetime.datetime.today()
df = web.get_data_yahoo(['F', '^GSPC'], start, end)

df1 = df.concat(columns=[F['Close'], gspc['Close']], axis=1)

但我收到以下错误:

AttributeError: 'DataFrame' object has no attribute 'concat'

【问题讨论】:

你做了什么来尝试解决这个问题? 【参考方案1】:

您需要使用pd.concat([df1, df2]),因为df.concat() 不存在。

我给你举个例子:

import pandas as pd

df1 = pd.DataFrame(zip(list('bcdfg'), list('aeiou')), columns=['consonants', 'vowels'])
df2 = pd.DataFrame(range(5), columns=['numbers'])
  consonants vowels
0          b      a
1          c      e
2          d      i
3          f      o
4          g      u
   numbers
0        0
1        1
2        2
3        3
4        4
pd.concat([df1, df2], axis=1)
  consonants vowels  numbers
0          b      a        0
1          c      e        1
2          d      i        2
3          f      o        3
4          g      u        4

【讨论】:

我认为我不能比documentation 更好地解释它,但本质上,你需要两个pd.DataFrame() 来连接。像这样:df3 = pd.concat([df1, df2])

以上是关于Pandas 中的 Concat 2 列 - AttributeError:“DataFrame”对象没有属性“concat”的主要内容,如果未能解决你的问题,请参考以下文章

pandas 合并数据函数merge join concat combine_first 区分

pandas.concat() 不填充列

pandas concat 2个数据框,并在合并数据中添加一列新数据。

Python Pandas - 具有不同列的 Concat 数据框忽略列名

Python Pandas Concat "WHERE" 满足条件

pandas concat/merge/join 多个数据帧,该列只有一列