【问题标题】:Pandas issue in python 2.7.0 [duplicate]python 2.7.0中的熊猫问题[重复]
【发布时间】:2019-06-05 03:26:07
【问题描述】:

我在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'

【问题讨论】:

  • 你看到你的值的数据类型了吗?对于:data_df[data_df.KPIID == 21] 如果您的值在字符串中,它可能会给出空数据框作为输出。
  • 检查df.dtypes

标签: python pandas python-2.7


【解决方案1】:

您确定列 KPIID 是整数而不是字符串吗?

尝试使用 dtypes 来检查该列中存储的变量的类型

data_df.dtypes

如果它是一个字符串,你应该把它改成

data_df[data_df.KPIID == '21']

【讨论】:

    【解决方案2】:

    我感觉你的 KPIID 值不是整数格式。

    试试这个:

    data_df.KPIID=data_df.KPIID.astype(int)
    data_df[data_df.KPIID == 21]
    

    【讨论】:

    • 你是对的!我太跛脚了,没想到会这样!
    • 没关系,伙计...发生在我们所有人身上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    相关资源
    最近更新 更多