我很难理解,当输入是一本词典时,pd.concat是如何工作的.

假设我们有以下Pandas 数据帧-

# Import pandas library
import pandas as pd

# initialize list of lists
data = [['tom', 10], ['nick', 15], ['juli', 14]]

# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['Name', 'Age'])

然后,我们进行以下连接操作—

z = pd.concat({"z":df},
              axis = 1)

print(z)

输出结果是—

      z    
   Name Age
0   tom  10
1  nick  15
2  juli  14

看起来密钥z被堆叠在数据帧df的顶部.但这没有意义,因为指定的轴是1,因此,堆叠(如果发生了这种情况)应该是跨列的.

推荐答案

这实际上是有意义的,因为你连接为columns(axis=1),你需要区分连接的列.

下面是一个更有意义的例子:

out = pd.concat({'left': df.add_prefix('left_'),
                 'middle': df.add_prefix('middle_'),
                 'right': df.add_prefix('right_')},
                axis=1)

       left               middle                 right          
  left_Name left_Age middle_Name middle_Age right_Name right_Age
0       tom       10         tom         10        tom        10
1      nick       15        nick         15       nick        15
2      juli       14        juli         14       juli        14

这相当于将新名称传递给keys:

out = pd.concat([df.add_prefix('left_'),
                 df.add_prefix('middle_'),
                 df.add_prefix('right_')],
                keys=['left', 'middle', 'right'],
                axis=1)

如果连接axis=0(行),则concat将作为索引级的前缀:

out = pd.concat({'top': df,
                 'middle': df,
                 'bottom': df},
                 axis=0)

          Name  Age
top    0   tom   10
       1  nick   15
       2  juli   14
middle 0   tom   10
       1  nick   15
       2  juli   14
bottom 0   tom   10
       1  nick   15
       2  juli   14

Python相关问答推荐

Python 3.12中的通用[T]类方法隐式类型检索

Select 用a和i标签包裹的复选框?

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

运行Python脚本时,用作命令行参数的SON文本

可变参数数量的重载类型(args或kwargs)

在Polars(Python库)中将二进制转换为具有非UTF-8字符的字符串变量

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

在Mac上安装ipython

如何调整QscrollArea以正确显示内部正在变化的Qgridlayout?

DataFrames与NaN的条件乘法

在Python中使用if else或使用regex将二进制数据如111转换为001""

我对这个简单的异步者的例子有什么错误的理解吗?

什么是一种快速而优雅的方式来转换一个包含一串重复的列,而不对同一个值多次运行转换,

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

Python如何导入类的实例

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

随机森林n_估计器的计算

Django更新视图未更新

是否需要依赖反转来确保呼叫方和被呼叫方之间的分离?

两个名称相同但值不同的 Select 都会产生相同的值(discord.py)