Pandas 对数据框的布尔比较

2023-09-01Python开发问题
4

本文介绍了Pandas 对数据框的布尔比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

当我对数据框中的单个元素进行比较时出现错误,但我不明白为什么.

I am getting the error when I make a comparison on a single element in a dataframe, but I don't understand why.

我有一个数据框 df,其中包含许多客户的时间序列数据,其中包含一些空值:

I have a dataframe df with timeseries data for a number of customers, with some null values within it:

df.head()
                    8143511  8145987  8145997  8146001  8146235  8147611  
2012-07-01 00:00:00      NaN      NaN      NaN      NaN      NaN      NaN   
2012-07-01 00:30:00    0.089      NaN    0.281    0.126    0.190    0.500   
2012-07-01 01:00:00    0.090      NaN    0.323    0.141    0.135    0.453   
2012-07-01 01:30:00    0.061      NaN    0.278    0.097    0.093    0.424   
2012-07-01 02:00:00    0.052      NaN    0.278    0.158    0.170    0.462  

在我的脚本中,行if pd.isnull(df[[customer_ID]].loc[ts]):产生错误:

In my script, the line if pd.isnull(df[[customer_ID]].loc[ts]): generates an error:

ValueError: Series 的真值不明确.使用 a.empty、a.bool()、a.item()、a.any() 或 a.all().

但是,如果我在脚本行设置断点,并且当脚本停止时,我会在控制台中输入:

However, if I put a breakpoint on the line of script, and when the script stops I type this into the console:

pd.isnull(df[[customer_ID]].loc[ts])

输出是:

8143511    True
Name: 2012-07-01 00:00:00, dtype: bool

如果我允许脚本从该点继续,则会立即生成错误.

If I allow the script to continue from that point, the error is generated immediately.

如果布尔表达式可以求值并且值为True,为什么它会在if 表达式中产生错误?这对我来说毫无意义.

If the boolean expression can be evaluated and has the value True, why does it generate an error in the if expression? This makes no sense to me.

推荐答案

第二组 [] 正在返回一个我误认为是单个值的系列.最简单的解决方案是删除 []:

The second set of [] was returning a series which I mistook for a single value. The simplest solution is to remove []:

if pd.isnull(df[customer_ID].loc[ts]):
       pass

这篇关于Pandas 对数据框的布尔比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

在xarray中按单个维度的多个坐标分组
groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)...
2024-08-22 Python开发问题
15

Pandas中的GROUP BY AND SUM不丢失列
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)...
2024-08-22 Python开发问题
17

pandas 有从特定日期开始的按月分组的方式吗?
Is there a way of group by month in Pandas starting at specific day number?( pandas 有从特定日期开始的按月分组的方式吗?)...
2024-08-22 Python开发问题
10

GROUP BY+新列+基于条件的前一行抓取值
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)...
2024-08-22 Python开发问题
18

PANDA中的Groupby算法和插值算法
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)...
2024-08-22 Python开发问题
11

PANAS-基于列对行进行分组,并将NaN替换为非空值
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)...
2024-08-22 Python开发问题
10