社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python Pandas-Dataframe-根据另一列添加列,该列具有来自另两列的数学运算

Sara.SP92 • 3 年前 • 1168 次点击  

我有一个熊猫数据框,看起来像这样:

时间戳 位置 数据A 数据B 数据C
16508 法国 0.03 0.06 0.15
16510 英格兰 0.05 0.07 0.11
16515 英格兰 0.04 0.03 0.87

我想做的是:

  • 为“位置”列中的每个不同值添加一个新列。
  • 在这个新列中,添加数据A和数据B之间百分比的除法(数据A/B*100)。

预期产出将是:

时间戳 位置 数据A 数据B 数据C 去法国 去英国
16508 法国 0.03 0.06 0.15 50 0
16510 英格兰 0.05 0.07 0.11 0 71.42
16515 英格兰 0.04 0.03 0.87 0 133.33

我尝试了以下方法:

for column in data['Place'].unique():
    column_name = f'To {Place}'
    data[column_name] = data[data['Place'] == column]['Data A'].div(['Data B'])*100
    data[column_name].fillna(method='ffill', inplace=True)
    data[column_name].fillna(value=0, inplace=True)

但它不起作用。我得到一个“'list'对象没有属性'div'”错误。我尝试过其他不同的方法,但它们也不起作用。

谁能帮我一下吗?

提前谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133418
 
1168 次点击  
文章 [ 2 ]  |  最新文章 3 年前