python-3.x - pandas concat ValueError - 传递的值与索引暗示的不匹配
问题描述
我正在尝试将 2 系列连接成这样的数据框
c_dist_df = pd.concat([d.value_counts(), v.value_counts()], axis=1, sort=True)
我得到了错误 -
ValueError:传递值的形状为 (2, 7),索引暗示 (2, 5)
这就是我的输入的series
样子 -
d.value_counts()
(-0.001, 8.0] 2121
(127.0, 215.0] 2017
(36.0, 127.0] 2006
(215.0, 695.0] 2003
(8.0, 36.0] 1914
Name: X, dtype: int64
v.value_counts()
(215.0, 695.0] 204
(36.0, 127.0] 204
(127.0, 215.0] 202
(-0.001, 8.0] 196
(8.0, 36.0] 177
Name: X, dtype: int64
形状和索引值相同 -
np.shape(d.value_counts()) //returns (5,)
np.shape(v.value_counts()) //returns (5,)
我无法弄清楚传递值(2、7)的形状如何。有人可以帮忙吗?
我正在使用Python version 3.7.0
和Pandas version 0.23.4
解决方案
您需要指定join_axes
参数。尝试:
d_val = d.value_counts()
v_val = v.value_counts()
pd.concat([d_val, v_val], axis=1, join_axes=[d_val.index], sort=True)
其他一些选择:
使用
join
而不是concat
. 但是由于join
只能在数据帧上使用,因此您必须在加入之前将两个系列都转换为数据帧。d_val.to_frame(name='d_vc').join(v_val.to_frame(name='v_vc'))
在初始化数据框时将两个系列都分配为列:
pd.DataFrame(dict(d_vc = d_val, v_vc = v_val)).reset_index()
推荐阅读
- wordpress - 尝试在我的 wordpress 网站上激活许可证时出现 cURL 错误
- flutter - 如何从颤动的子类更改父类的数据
- assembly - 用于比较未给出正确输出的字符串的汇编程序
- maven - mvn exec 有效,但 Run 'Application' 无效
- python - 在 folium 地图上绘制多条编码折线
- javascript - 我如何在 react-native-cli 的 datepicker 中实现 this.setstate 和 this.props
- java - 在 Redis 中存储数据列表并基于 Redis Java Spring boot 上应用的过滤器进行查询
- qt - 在鼠标单击时突出显示 QML ListView 项
- java - Maven 不运行我的 Appium(selenium) 测试
- excel - 如何使用VBA删除excel中单元格下方和右侧的所有内容?