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

标签 python pandas

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

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,:]

关于Python:将DataFrame的每一行除以另一个DataFrame向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642162/

相关文章:

python - 在 Python 中,如何确定对象是否仍然存在?

python - 根据列表中成员的可用性过滤元组列表

python - Pandas 数据帧 : Getting row indices from criteria 1, 按标准 2 排序

python - Pandas DF 有一列包含列表。如何使用此列表的每个值重复行?

python - 转换 Pandas 数据框的数据类型以匹配另一个

python - 如何加快字符串匹配字符串列表的速度?

python - 在 Windows 命令行上工作但在 Git Bash 终端上不工作的命令

python - 计算 numpy 数组中长度不同的值的连续出现次数

python - 使用选定的列表值填充数据框中的列

python - 如何根据数据帧值生成新的Python数据帧系列