Pandas小白入门散记(3)---Series.str--源代码定位问题

news2024/10/7 18:31:20

文章目录

  • 问题点
  • 原因解释

碰到了,一个错误,debug才定位到问题,记录一下。

本次最大收获是,pandas果然代码逻辑复杂,一个小小的异常捕捉,处处是门道。。。。。。

希望本次浅显的代码阅读过程,给你有小小的启发,愿您多读复杂代码,提升自我。

问题点

Series.str用到list对象上,不会产生报错,而是返回一个NaN
如下代码:

import pandas as pd
df = pd.DataFrame([1,2,3,4], columns=['test'])
df.loc[:, 'mylist'] =  [[1,], [32,3], [923], [324,4444]]

df # output 1

df.mylist.str.lower() # output2
output1: 
	test	mylist
0	1	[1]
1	2	[32, 3]
2	3	[923]
3	4	[324, 4444]

output2:
0   NaN
1   NaN
2   NaN
3   NaN
Name: mylist, dtype: float64

原因解释

  1. 查官网

https://pandas.pydata.org/docs/reference/api/pandas.Series.str.html#
没有查询到有用信息

  1. 查代码

查看源代码,发现是pandas异常捕捉并给了默认值。其具体过程如下:
在这里插入图片描述
如上图所示得到对象类型,使用pandas.core.strings.accessor.StringMethods搜索到github上源代码:https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py

    @Appender(_shared_docs["casemethods"] % _doc_args["lower"])
    @forbid_nonstring_types(["bytes"])
    def lower(self):
        result = self._data.array._str_lower()
        return self._wrap_result(result)

模拟运行如下,发现有报错,猜测,正常情况

df.mylist.str._data.array._str_lower()
output:
	array([nan, nan, nan, nan])

查看df.mylist.str._data.array类型为:
在这里插入图片描述
搜索类型pandas.core.arrays.numpy_.PandasArray找到其源代码:在github中找不到’PandasArray’。
在这里插入图片描述
找到ObjectStringArrayMixin发现_str_lower函数,如下:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/976685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用element-ui导航,进入对应的三级页面菜单保持点击状态

1.注意事项 01.路由中使用了keepAlive属性&#xff0c;要用keepAlive&#xff1a;true&#xff0c;不能等于false&#xff0c;使用false页面会刷新 2.使用的方法 NavMenu 导航菜单 3.项目实例 <template><div class"policy-home"><div class"…

QHttpServer

QLineEdit-----输入提示 改动CmakeLists.txt 在帮助–索引查找QHttpServer 改动CmakeLists.txt&#xff0c;有三处改动 在谷歌浏览器测试&#xff0c;输入127.0.0.1/api/login 测试代码 #include<QCoreApplication> #include <QHttpServer> //http服务器 int m…

查看显卡显存

1、cmd或者终端输入&#xff1a; nvidia-smi4096为显存总大小&#xff0c;1228为目前使用的显存大小 2、或者在编辑器中直接安装gpustat包进行查看 pip install gpustat gpustat -cpuigpustat -cpui用于查看当前GPU使用情况 更直观&#xff1f; CtrlC 退出

小白学go基础06-了解切片实现原理并高效使用

slice&#xff0c;中文多译为切片&#xff0c;是Go语言在数组之上提供的一个重要的抽象数据类型。在Go语言中&#xff0c;对于绝大多数需要使用数组的场合&#xff0c;切片实现了完美替代。并且和数组相比&#xff0c;切片提供了更灵活、更高效的数据序列访问接口。 切片究竟是…

JavaScript-----函数

目录 前言&#xff1a; JavaScript函数 1. 定义函数 构造函数 2. 调用函数 函数的自执行 3. 函数的参数 4. 函数返回值 5. 作用域 6. 匿名函数 7. this指向性问题&#xff08;重点&#xff09; 7.1 this的性质 7.2 call的用法 7.3 apply的用法 7.4 bind的用法&a…

KMP超高效匹配算法

简介&#xff1a; KMP算法是一种改进的字符串匹配算法&#xff0c;其中&#xff0c;KMP算法的运用核心是利用匹配失败后的信息&#xff0c;最大进度的减少模式串与目标串的匹配次数以达到快速匹配的效果。算法与暴力求解的改进在于每当一趟匹配过程中出现的字符比较不相等时&am…

无涯教程-JavaScript - NOW函数

描述 NOW函数返回当前日期和时间的序列号。 语法 NOW ()争论 NOW函数语法没有参数。 Notes 如果在输入功能之前单元格格式为"常规",则Excel会更改单元格格式,使其与您的区域设置的日期和时间格式匹配。您可以使用功能区"主页"options卡"数字&quo…

Java学习笔记——34多线程01

多线程 实现多线程进程和线程的区别多线程的实现方式方式一&#xff1a;继承Thread类设置线程名称线程调度线程控制线程生命周期 方式二&#xff1a;实现Runnable接口 实现多线程 进程和线程的区别 进程&#xff1a;是正在运行的程序 是系统进行资源分配和调用的独立单位每一…

文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&#xff0c;…

IG 自动回复:提供无间断客户互动体验

图片来源于&#xff1a;SaleSmartly官网 2023&#xff0c;Instagram拥有将近13亿的月活跃用户&#xff0c;在香港拥有超过400万活跃用户。 Instagram 以图片、长短影片、直播等高互动性的互动方式&#xff0c;吸引了广大的年轻族群&#xff0c;34岁以下的用户即占比了将近全球整…

Day55|动态规划part16:583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

583. 两个字符串的删除操作 leetcode链接&#xff1a;力扣题目链接 视频链接&#xff1a;&#xff1a;LeetCode&#xff1a;583.两个字符串的删除操 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。每步 可以删除任意一个字符串中的…

两个路由器如何连接设置的方法攻略

一、前言 随着智能家居时代来临&#xff0c;家里的网络部署需求开始复杂起来。往往一个路由器已经不能满足需求或者不利于拓展。两个路由器连接最常见的情况是家中已有一个路由器&#xff0c;并且已经通过这个路由器来正常上网。现在是因某些原因想在不改变已经在用的路由器的设…

mysql 字段用了关键字, 无法插入更新数据

1. 表字段用了关键字 explain 2. sql语句中用包裹住关键字 (注意不是单引号) <if test"explain ! null">explain,</if>

CRMEB多端多语言系统文件上传0Day代审历程

Git仓库&#xff1a; https://github.com/crmeb/CRMEB简介&#xff1a; 两天攻防中&#xff0c;某政局子公司官网后台采用的CRMEB开源商城CMS&#xff0c;挺奇葩&#xff0c;别问怎么总让我碰到这种东西&#xff0c;我也不知道&#xff0c;主打的就是一个魔幻、抽象。最后通过…

基于环形队列的生产消费模型

目录 一、信号量 1.提出问题 2.信号量的概念 3.信号量的基本操作 &#xff08;1&#xff09;PV操作 &#xff08;2&#xff09;信号量的使用 二、基于环形队列的生产消费模型 1.环形队列 &#xff08;1&#xff09;复习 &#xff08;2&#xff09;现象 &#xff08;…

酷雷曼第二期无人机技能培训圆满举办

第2期无人机技能培训 2023年8月24日-8月25日&#xff0c;第二期酷雷曼无人机技能培训及执照考试在北京圆满举办&#xff0c;来自五湖四海、全国各地的合作商千里相聚&#xff0c;培训现场热闹融洽&#xff0c;再续精彩盛况。 随着《无人驾驶航空器飞行管理暂行条例》正式发布…

Mysql中group by 使用中发现的问题

当使用 MySQL 的 GROUP BY 语句时&#xff0c;根据指定的列对结果进行分组。在 GROUP BY 分组时&#xff0c;如果某个字段在分组中有多个不同的值&#xff0c;那么就会出现你提到的该字段一直在变化的情况。 这种情况通常是由于在 GROUP BY 中选择的字段与其他非聚合字段不兼容…

【链表OJ 11】复制带随机指针的链表

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上链表OJ题目 目录 leetcode138. 复制带随机指针的链表 1. 问题描述 2.代码思路: 2.1拷贝节点插入到…

操作系统强化认识之Shell编程学习与总结

目录 1.Shell的概述 2.Shell脚本入门 3.变量 3.1.系统预定义变量 3.2.自定义变量 3.3.特殊变量 4.运算符 5.条件判断 6.流程控制 6.1.if判断 6.2.case语句 6.3.for循环 6.4.while循环 7.read读取控制台输入 8.函数 8.1.系统函数 8.2.自定义函数 9.正则表示式入…

React原理 - React New Feature

目录 扩展学习资料 React Fragments/Portals/StrictMode【糖果】 Fragments【并列元素外包裹一个伪元素】 Portals【改变组件挂载节点】 Strict Mode【严格模式&#xff0c;老工程中使用&#xff0c;提示即将失效方法】 React Concurrent Mode【大招】 不可阻断渲染/可中…