Python 在pandas中合并循环中的多个系列

Python 在pandas中合并循环中的多个系列,python,pandas,loops,merge,series,Python,Pandas,Loops,Merge,Series,因此,我有一个系列的列表,如下所示: groupdf1 Out[304]: [90-95 9 >100 1 80-90 1 50-80 1 Name: bucket, dtype: int64, 80-90 9 95-100 1 90-95 1 50-80 1 Name: bucket, dtype: int64, 80-90 10 90-95 1 50-80 1 Name: bucket

因此,我有一个系列的列表,如下所示:

groupdf1
Out[304]: 
[90-95    9
 >100     1
 80-90    1
 50-80    1
 Name: bucket, dtype: int64, 80-90     9
 95-100    1
 90-95     1
 50-80     1
 Name: bucket, dtype: int64, 80-90    10
 90-95     1
 50-80     1
 Name: bucket, dtype: int64, 80-90     11
 95-100     1
 Name: bucket, dtype: int64, 50-80    9
      bucket.1  bucket.2 bucket.3 bucket.4
90-95   9         1         1        NaN
>100    1        NaN       NaN       NaN
80-90   1         9        10        11
50-80   1         1         1        NaN
95-100 NaN       NaN       NaN        1
我正在尝试创建一个数据帧,如下所示:

groupdf1
Out[304]: 
[90-95    9
 >100     1
 80-90    1
 50-80    1
 Name: bucket, dtype: int64, 80-90     9
 95-100    1
 90-95     1
 50-80     1
 Name: bucket, dtype: int64, 80-90    10
 90-95     1
 50-80     1
 Name: bucket, dtype: int64, 80-90     11
 95-100     1
 Name: bucket, dtype: int64, 50-80    9
      bucket.1  bucket.2 bucket.3 bucket.4
90-95   9         1         1        NaN
>100    1        NaN       NaN       NaN
80-90   1         9        10        11
50-80   1         1         1        NaN
95-100 NaN       NaN       NaN        1
这基本上是合并索引上的每个系列。我不能循环运行它。我得到以下错误:

groupdf=pd.DataFrame(groupdf1[0])
for i in range(1,len(groupdf1)):
    groupdf2=pd.DataFrame(groupdf1[i])
    groupdf.concat(groupdf2)


Traceback (most recent call last):

  File "<ipython-input-278-4c8876ecdb74>", line 4, in <module>
    groupdf.concat(groupdf2)

  File "C:\Users\hp1\Anaconda3\lib\site-packages\pandas\core\generic.py", line 3081, in __getattr__
    return object.__getattribute__(self, name)

AttributeError: 'DataFrame' object has no attribute 'concat'
groupdf=pd.DataFrame(groupdf1[0])
对于范围(1,len(groupdf1))中的i:
groupdf2=pd.DataFrame(groupdf1[i])
groupdf.concat(groupdf2)
回溯(最近一次呼叫最后一次):
文件“”,第4行,在
groupdf.concat(groupdf2)
文件“C:\Users\hp1\Anaconda3\lib\site packages\pandas\core\generic.py”,第3081行,位于\uu getattr中__
返回对象。\uuuGetAttribute(self,name)
AttributeError:“DataFrame”对象没有属性“concat”

谁能帮帮我吗?谢谢。

如果
groupdf1
DataFrame
的列表,请与
axis=1
一起使用,然后通过
enumerate
f-string
s设置新列名:

df = pd.concat(groupdf1, axis=1)
df.columns = [f'{x}.{i}' for i, x in enumerate(df.columns, 1)]
#alternative
#df.columns = [f'bucket.{i}' for i in np.arange(1,len(df.columns) + 1)]

如果
groupdf1
DataFrame
s的列表,请与
axis=1
一起使用,然后通过
enumerate
f-string
s设置新列名:

df = pd.concat(groupdf1, axis=1)
df.columns = [f'{x}.{i}' for i, x in enumerate(df.columns, 1)]
#alternative
#df.columns = [f'bucket.{i}' for i in np.arange(1,len(df.columns) + 1)]

是熊猫,康卡特。。。DataFrame对象没有该属性。试试pandas.concat((df1,df2)),或者任何数据帧的名称。正如jezrael所指出的,pd.concat可以采用任何数据帧间隔,因此只需传递axis=1参数即可按列进行连接

是熊猫。。。DataFrame对象没有该属性。试试pandas.concat((df1,df2)),或者任何数据帧的名称。正如jezrael所指出的,pd.concat可以采用任何数据帧间隔,因此只需传递axis=1参数即可按列进行连接