如何使用 Pandas Data Frame 在 python 3 中使用断言?

leeand00

如果我在 Pandas 数据框中有两列,并且我想执行断言以查看它们是否等于或大于两列上的其他逻辑布尔测试。

现在我正在做这样的事情:

# Roll the fields up so we can compare both reports.

# Goal: Show that `Gross Sales per Bar` is equal to `Gross Sales per Category`
#       

# Do a GROUP BY of all the service bars and sum their Gross Sales per Bar
# Since the same value should be in this field for every 'Gross Sales per Bar' field, 
# grab the first one, so we can compare them below
df_bar_sum = sbbac.groupby(['Bar'], as_index=False)['Gross Sales per Bar'].first()

df_bar_sum2 = sbbac.groupby(['Bar'], as_index=False)['Gross Sales per Category'].sum()

# Rename the 'Gross Sales per Category' column to 'Summed Gross Sales per Category'
df_bar_sum2.rename(columns={'Gross Sales per Category':'Summed Gross Sales per Category'}, inplace=True)

# Add the 'Gross Sales per Bar' column to the df_bar_sum2 Data Frame.
df_bar_sum2['Gross Sales per Bar'] = df_bar_sum['Gross Sales per Bar']

# See if they match...they should since the value of 'Gross Sales per Bar' should be equal to 'Gross Sales per Category' summed.

df_bar_sum2['GrossSalesPerCat_GrossSalesPerBar_eq'] = df_bar_sum2.apply(lambda row: 1 if row['Summed Gross Sales per Category'] == row['Gross Sales per Bar'] else 0, axis=1)

# Print the result
df_bar_sum2

我只是得到一个列,1如果它匹配,0如果不匹配

我想在这里使用断言来测试它们是否匹配,因为如果它们与显示的某种错误不匹配,那么在进行测试时会导致整个事情失败;也许这不是对表格数据进行处理的好方法,我不确定,但如果这是一个好主意,我宁愿使用断言来比较它们。

断言也可能更难阅读,这很糟糕,我不确定......

ifly6
assert np.allclose(your_df['Summed Gross Sales per Category'],
                   your_df['Gross Sales per Bar'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Python Pandas 中创建的函数中使用 .format() 从 Data Frame 中选择值时出错?

如何使用 Python 中的修改函数更改 Pandas Data Frame 中列的值?

如何识别 Python Pandas Data Frame 列中值的顺序?

使用else if逻辑将条件列添加到Pandas Data Frame-Python

在python中使用opencv时断言失败

如何在 data.frame() 中使用reactiveElements

在 Pandas 中使用 GROUP BY 执行 COUNTIF - Python 3.x

使用r2d3在d3.js中使用R data.frame对象

如何在 python pandas 中使用 urlparse

Pandas:如何在python3中的混合类型多索引中使用切片?

如何在 Python 3 中使用 Pandas DataFrame 动态生成 html 字符串?

如何在 pandas/python 中使用 join 创建 3 个表?

如何将Python Pandas Dataframe转换为R data.frame

如何根据 Python Pandas 中名称的开头管理 Data Frame 中的列顺序?

如何在 Python 中的 Pandas Data Frame 列中删除符号“/”后的每个值?

在 Python 中使用单元测试进行断言后打印

如何在 Python 3 中使用 exit()

如何在 Pandas Data Frame 行中找到最后一个索引并使用列信息向后计数?

如何使用Python在Pandas DataFrame中使用Regex

如何根据 Python Pandas 中其他行中的值在 Pandas Data Frame 中添加新索引行?

Data.frame 过滤使用 %in%

如何在Xerces C ++ 3.x(CodeSynthesis XSD)中使用断言?

python pandas data-frame-根据列值重复行

r 或 python pandas 中 data.frame 中的顺序减法

在R中的data.frame列表中使用一个data.frame的指定列

在R中使用dplyr对data.frame进行扩展操作

将summary()写入as.data.frame以在ggplot / R中使用

在dplyr序列中使用data.frame返回函数

在 Python 3 中使用 Pandas,如何过滤掉数据框中列中的重复字符串?