python - 熊猫:从另一个数据框中复制列时出错
问题描述
我正在尝试将预测列从 附加df_B
到df_A
。
df_A['prediction'] = df_B['prediction']
但该列未正确复制,我收到以下错误:
/Users/edamame/workspace/git/tensorplay/venv/lib/python3.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
有没有办法在不循环数据框的情况下正确执行列复制?
解决方案
如果 df_A 和 df_B 的形状相同,您可以使用 Pandas 的 pd.concat() 功能。
import pandas as pd
data_A = [['tom', 10], ['nick', 15], ['juli', 14]]
df_A = pd.DataFrame(data_A, columns = ['Name', 'Age'])
data_B = [['LA', "M"], ['NY', 'M'], ['SF', 'F']]
df_B = pd.DataFrame(data_B, columns = ['City', 'Gender'])
df_B = pd.concat([df_B, df_A[['Name']]], axis = 1)
推荐阅读
- python - Pygame 清屏
- javascript - 按 vue.js 中的列标题排序
- python - python3 -m venv 返回非零退出状态 1
- python - 为什么这个 lambda 函数在 else 语句中表现得很奇怪?
- python-2.7 - 在 python 中使用 defaultdict 时出错。我是 python 新手,我收到 AttributeError: 'str' object has no attribute 'append'
- java - 构建android项目时gradle构建错误
- ios - Swift Drag&Drop - 在同一个 collectionView 中一次移动多个项目
- forms - 将 recaptcha 令牌列入白名单以避免要求用户生成新令牌,是否有更好的解决方案?
- android - Android ConstraintLayout 简单示例困境:需要不可见的边界框
- selenium - Selenium 2.53 不适用于 FF 46