我有以下2个数据帧:
df_a =
mukey DI PI
0 100000 35 14
1 1000005 44 14
2 1000006 44 14
3 1000007 43 13
4 1000008 43 13
df_b =
mukey niccdcd
0 190236 4
1 190237 6
2 190238 7
3 190239 4
4 190240 7
当我尝试加入这两个数据框时:
join_df = df_a.join(df_b,on='mukey',how='left')
我得到错误:
*** ValueError: columns overlap but no suffix specified: Index([u'mukey'], dtype='object')
为什么会这样呢?数据帧确实具有通用的“ mukey”值。
您发布的数据片段中的错误有点神秘,因为没有通用值,所以联接操作失败,因为这些值不重叠,这需要您在左侧和右侧提供后缀:
In [173]:
df_a.join(df_b, on='mukey', how='left', lsuffix='_left', rsuffix='_right')
Out[173]:
mukey_left DI PI mukey_right niccdcd
index
0 100000 35 14 NaN NaN
1 1000005 44 14 NaN NaN
2 1000006 44 14 NaN NaN
3 1000007 43 13 NaN NaN
4 1000008 43 13 NaN NaN
merge
之所以有效,是因为它没有此限制:
In [176]:
df_a.merge(df_b, on='mukey', how='left')
Out[176]:
mukey DI PI niccdcd
0 100000 35 14 NaN
1 1000005 44 14 NaN
2 1000006 44 14 NaN
3 1000007 43 13 NaN
4 1000008 43 13 NaN
问题内容: 我正在寻找一种方法来反向旋转数据框。据我所知,pandas提供了一种pivot或pivot_table方法将EAV df转换为“普通”方法。但是,还有一种方法可以做逆运算吗? 所以给定数据框: 我想将其转换为(EAV模型): 这样做最有效的方法是什么? 问题答案: 假设是索引,将执行以下操作: 如果不是索引,请像这样设置:
假设我们有一个包含许多列的数据框,。我只想创建一个包含以下列的DF
我在csv原始数据文件中遇到EM Dash问题,导致熊猫无法读取csv。 我在下面运行了一些变体 收到错误:“UnicodeDecodeError:“ascii”编解码器无法解码位置4:序号不在范围(128)中的字节0xef” 其他变化包括 收到错误:“UnicodeDecodeError:'utf8'编解码器无法解码位置0中的字节0xff:无效的开始字节” 收到错误:“行包含空字节” 如果成功,
问题内容: 我有一个名为的数据框。如何重命名唯一的一列标题?例如到? 问题答案: data.rename(columns={‘gdp’:’log(gdp)’}, inplace=True) 在它接受一个字典作为一个PARAM演出,所以你只是传递一个字典一次入境。
我已经看到了将一个列/系列分解成熊猫数据框架的多个列这一主题的一些变体,但是我一直在尝试做一些事情,但是现有的方法并没有真正成功。 给定如下数据帧: 我想将系列中的项目转换为列,以 值作为值,如下所示: 我觉得这应该是一个相对简单的问题,但我已经为此努力了几个小时,不断增加的复杂程度,但没有成功。
我正在努力去除nans。已经花了一些时间寻找解决方案,但似乎没有任何效果。 下面我附上我的代码样本。整个笔记本可以在我的GitHub这里找到:https://GitHub . com/jarsonX/Temp _ files/blob/main/W3-探索性数据分析(1)。ipynb 我错过了什么? 更新: 我设法过滤掉了南斯: