我在Python 2.7.0
和pandas==0.23.4
上有一个运行代码。现在,当我尝试将其部署在新服务器上时,我的df如下图所示,但我的过滤器不起作用?这是什么问题?这是一个conda发行。我可以重新安装python还是pandas实现有变化。
我也尝试过df.query()
,但是没有运气
data_df
KPIID CATEGORY ACTUAL_DATE
0 21 Delivery 2016-05-11
1 21 Delivery 2016-10-29
2 21 Delivery 2016-12-10
3 21 Delivery 2016-12-20
4 21 Delivery 2017-01-11
5 21 Delivery 2017-01-18
6 21 Delivery 2017-01-31
7 21 Delivery 2017-02-09
8 21 Delivery 2017-02-15
9 21 Delivery 2017-02-23
当我尝试时:
data_df[data_df.KPIID == 21]
我收到一个空的DF:(
Empty DataFrame
Columns: [KPIID, CATEGORY, ACTUAL_DATE]
Index: []
我在新服务器上运行了以下代码
import sys
sys.version_info
sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)
pd.__version__
'0.23.4'
答案 0 :(得分:1)
我觉得您的KPIID值不是整数格式。
尝试一下:
data_df.KPIID=data_df.KPIID.astype(int)
data_df[data_df.KPIID == 21]
答案 1 :(得分:1)
您确定KPIID列是整数而不是字符串吗?
尝试使用dtypes检查存储在此列中的变量的类型
data['Plan Date'] = pd.to_datetime(data['Plan Date'])
mask = data['Plan Deadline'].notnull()
data.loc[mask, 'Plan Date'] = data.loc[mask, ['Support Date', 'Plan Deadline']].max(axis=1)
print (data)
Plan Date Support Date Plan Deadline
14304 2019-10-31 2019-10-31 2019-10-31
16639 2019-10-31 2019-10-31 2019-10-31
17980 NaT 2022-03-31 NaT
18533 NaT 2022-03-31 NaT
22522 2020-01-31 2019-07-31 2020-01-31
22587 2019-10-31 2019-07-31 2019-10-31
23186 NaT 2020-12-31 NaT
28559 NaT 2019-02-28 NaT
如果是字符串,则应将其更改为
data_df.dtypes