现有时间序列 df_B,及新定义的 df_A,其时间索引与 df_B 相同,但是两者列名不同:
df_A = pd.DataFrame(index=df_B.index, columns=cols_a)
想从df_B 中取一列值,成批赋值给 df_A 中的某一列,常规的代码是:
df_A[col_name_A] = df_B[col_name_B]
或者
df_A[col_name_A] = df_B[col_name_B].values.tolist()
但是实际执行时始终无法赋值成功,最后发现原因在 df_A 定义上,因为定义时没有指定数据类型,而赋值时都是 float 的数据,pandas不会自动匹配,因此赋值不成功,将 df_A 的定义代码改为:
df_A = pd.DataFrame(0., index=df_B.index, columns=cols_a)
之后赋值成功。
最后
以上就是狂野电灯胆最近收集整理的关于相同索引的 dataframe 间列值的批量赋值(数据类型要匹配)的全部内容,更多相关相同索引的内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复