当前位置: 首页 > 面试题库 >

Python:将DataFrame的每一行除以另一个DataFrame向量

暴德运
2023-03-14
问题内容

我有一个具有维度2000 rows x 500 columns(不包括索引)的DataFrame(df1),我想要为该行将每个行除以另一个具有维度的DataFrame(df2)1 rows X 500 columns。两者具有相同的列标题。我试过了:

df.divide(df2)以及 df.divide(df2, axis='index')其他多个解决方案,我总是nan在每个单元格中获得包含值的df 。我在函数中缺少什么参数df.divide


问题答案:

在中df.divide(df2, axis='index'),您需要提供df2(例如df2.iloc[0])的轴/行。

import pandas as pd

data1 = {"a":[1.,3.,5.,2.],
         "b":[4.,8.,3.,7.],
         "c":[5.,45.,67.,34]}
data2 = {"a":[4.],
         "b":[2.],
         "c":[11.]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

df1.div(df2.iloc[0], axis='columns')

或者你可以使用 df1/df2.values[0,:]



 类似资料:
  • 问题内容: 在Pandas DataFrame中,我可以使用函数将列值与另一列进行匹配。 例如:假设我们有一个DataFrame: 和另一个DataFrame: 我可以使用的功能相匹配的列值对的列值 例如: 产量: PySpark DataFrame中的等效操作是什么? 上面的代码给我一条错误消息: 问题答案: 这种操作在spark中称为“左半联接”:

  • 问题内容: 我了解pandas旨在加载完全填充的内容,但是我需要创建一个空的DataFrame然后逐行添加行。做这个的最好方式是什么 ? 我成功创建了一个空的DataFrame: 然后,我可以添加新行,并用以下字段填充字段: 它有效,但看起来很奇怪:(添加字符串值失败) 如何将新行添加到DataFrame(具有不同的列类型)? 问题答案:

  • 问题内容: 假设我有一个numpy数组: 我有一个对应的“向量”: 我如何沿每一行进行减法或除法运算,所以结果是: 长话短说:如何使用对应于每一行的1D标量数组在2D数组的每一行上执行操作? 问题答案: 干得好。您只需要与广播结合使用(或):

  • 我正在使用齐柏林飞艇0.6.2和火花2.0。 我尝试在循环中执行查询,但效果不是很好。 我需要循环一个数据帧的每一行,大约5000行,并执行一个查询,这将在另一个数据帧中增加一个值。 以下是我的尝试: 我试着从两个数据帧中提取一小部分,但仍然很慢。我觉得我做得不对。 知道如何快速更新数据帧吗?

  • 删除第一个元素最简单的方法是什么?

  • 问题内容: 我有3个级别的MultiIndex的熊猫数据框。我试图根据与两个级别相对应的值列表来提取此数据框的行。 我有这样的事情: 现在,我要获取索引级别为“ b”和“ c”的所有行: 即值的具有或在水平和分别为:。 所以我想在第一级上学习一个,并在第二级和第三级上提取特定的元组。 最初,我认为将多索引对象传递给.loc会拉出我想要的值/级别,但这是行不通的。做这样的事情的最好方法是什么? 问题