解析器必须是字符串或字符流,而不是Series

2024-03-23

我有以下数据集和函数来尝试检测列是否为日期类型。

from dateutil.parser import parse
import pandas as pd

# function
def is_date(string, fuzzy=False):
    try:
        parse(string, fuzzy=fuzzy)
        return True

    except ValueError:
        return False

# data
df = pd.read_csv('https://data.calgary.ca/api/views/78gh-n26t/rows.csv?accessType=DOWNLOAD')

当我在其中一列上尝试该功能时is_date(crime['Date']) I get:

TypeError: Parser must be a string or character stream, not Series

如何正确地将列转换为正确的类型,以便能够使用该函数循环遍历所有值?

日期栏:

0        05/01/2020 12:00:00 AM
1        05/01/2020 12:00:00 AM
2        04/01/2020 12:00:00 AM
3        04/01/2020 12:00:00 AM
4        04/01/2020 12:00:00 AM

其他栏目:

Sector     Community Name   Category
NORTHWEST  02E              Assault (Non-domestic)
WEST       ASPEN WOODS      Street Robbery
NORTHWEST  02E              Violence Other (Non-domestic)
NORTH      02K              Theft OF Vehicle
NORTHEAST  10E              Break & Enter - Commercial

您可以使用applymap为了达成这个。

In [10]: df
Out[10]:
      Sector Community Name                       Category                    Date
0  NORTHWEST            02E         Assault (Non-domestic)  05/01/2020 12:00:00 AM
1       WEST    ASPEN WOODS                 Street Robbery  05/01/2020 12:00:00 AM
2  NORTHWEST            02E  Violence Other (Non-domestic)  05/01/2020 12:00:00 AM
3      NORTH            02K               Theft OF Vehicle  05/01/2020 12:00:00 AM
4  NORTHEAST            10E     Break & Enter - Commercial  05/01/2020 12:00:00 AM

In [11]: # function
    ...: def is_date(string, fuzzy=False):
    ...:     try:
    ...:         parse(string, fuzzy=fuzzy)
    ...:         return True
    ...:
    ...:     except ValueError:
    ...:         return False
    ...:

In [12]: df = df.astype(str)

In [13]: df[df.columns.tolist()].applymap(is_date)
Out[13]:
   Sector  Community Name  Category  Date
0   False           False     False  True
1   False           False     False  True
2   False           False     False  True
3   False           False     False  True
4   False           False     False  True

In [14]: df[df.columns.tolist()].applymap(is_date).any()
Out[14]:
Sector            False
Community Name    False
Category          False
Date               True
dtype: bool
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析器必须是字符串或字符流,而不是Series 的相关文章

  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 没有名为 StringIO 的模块

    我有Python 3 6 我想从另一个名为 run py 的 python 文件执行名为 operation py 的 python 文件 In operation py I do from cStringIO import StringI
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • 在 matplotlib 中的极坐标图上移动径向刻度标签

    From matplotlib 示例 http matplotlib org examples pylab examples polar demo html import numpy as np import seaborn as sbs
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • python中的[][](双方括号运算符)运算符是什么?

    我是 python 新手 我一直在寻找分配变量时进行三元运算的正确方法 我发现有人在堆栈溢出上发表了一个帖子 提出了这样的建议 var smaller bigger 7 gt 1 其中左边的值为 False 右边的值为 True 我运行它并
  • Python:IndexError:修改代码后列表索引超出范围

    我的代码应该提供以下格式的输出 我尝试修改代码 但我破坏了它 import pandas as pd from bs4 import BeautifulSoup as bs from selenium import webdriver im
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • 双击打开 ipython 笔记本

    相关文章 通过双击 osx 打开 ipython 笔记本 https stackoverflow com questions 16158893 open an ipython notebook via double click on osx
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que

随机推荐