python - Concat数据框不起作用
问题描述
我有两个数据框 df1 和 df2。两者都具有相同的行数但不同的列。我想连接 df1 的所有列和 df2 的第 2 列和第 3 列。
df1 有 119 列, df2 有 3 列,我想要第 2 和第 3
我正在使用的代码是:
data_train_test = pd.concat([df1,df2.iloc[:,
[2,3]]],axis=1,ignore_index=False)
我得到的错误是
ValueError: Shape of passed values is (121, 39880), indices imply (121, 28898)
我的分析:
39880 - 28898 = 10982
df1 是 TFID 数据帧,由其他两个数据帧的 concat 组成,行数为 17916+10982 = 28898。
我是如何制作 df2 的
frames = [data, prediction_data]
df2 = pd.concat(frames)
我无法找到此问题的确切原因。有人可以帮忙吗?
解决方案
我想我通过在创建 df2 时重置索引来解决它。
frames = [data, prediction_data]
df2 = pd.concat(frames).reset_index()
推荐阅读
- c# - 为什么 C# 8 数组切片功能中的新帽子运算符索引不从 0 开始?
- ios - 尝试在 iOS 平台(离子 3)上安装 OneSignal 插件时出错
- python - Tkinter`after`奇怪的行为
- php - 刀片中的 selectBox 过滤器,Laravel
- jquery - jQuery将类添加到html引用和转义
- java - 即使在会话结束重定向到登录页面期间也保留 url 参数
- python - 使用 lambda 基于具有非空值的另一列在数据框中创建一列
- typo3 - TypoScript 选择可能由流体变量动态填充的 dataWrap?
- bash - 松鼠脚本 - 空格问题 - 添加“空格”以传递给“回声”命令
- android - 使用 firebase 获取连接的用户信息,getUID 给出了错误的 ID