在现有DataFrame中添加不同长度的列时,pandas DataFrame不会自动重塑。
当我们尝试向现有的DataFrame添加列时,如果添加的列长度与DataFrame的长度不匹配,pandas会引发一个ValueError。这是因为DataFrame是一个二维数据结构,要求每一列的长度必须相同。
如果我们想要添加不同长度的列,可以通过以下步骤实现:
以下是一个示例代码:
import pandas as pd
# 原始DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 要添加的列
new_column1 = pd.Series([7, 8, 9, 10])
new_column2 = pd.Series([11, 12, 13])
# 创建新的DataFrame
new_df = pd.DataFrame({'C': new_column1, 'D': new_column2})
# 连接DataFrame
result = pd.concat([df, new_df], axis=1, ignore_index=True)
print(result)
输出结果为:
0 1 2 3
0 1 4 7 11.0
1 2 5 8 12.0
2 3 6 9 13.0
在这个示例中,我们创建了两个新的列C
和D
,它们的长度分别为4和3。通过使用concat函数将原始DataFrame和新的DataFrame连接起来,我们得到了一个包含所有列的新DataFrame。注意,长度不匹配的部分会用NaN填充。
对于pandas DataFrame的详细信息和更多操作,请参考腾讯云的相关产品文档:腾讯云·Pandas DataFrame。
领取专属 10元无门槛券
手把手带您无忧上云