python 2.7.0中的Pandas问题

时间:2019-01-10 09:33:39

标签: python pandas python-2.7

我在Python 2.7.0pandas==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'

2 个答案:

答案 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