Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将函数应用于熊猫数据栏中的每个值?

如何将函数应用于熊猫数据栏中的每个值?
EN

Stack Overflow用户
提问于 2016-07-24 20:54:37
回答 2查看 187关注 0票数 1

我尝试过使用下面这样的循环来进行某种程度的手动方法:

代码语言:javascript
运行
AI代码解释
复制
data = pd.read_csv('data/training.csv')
for idx,imageString in enumerate(data.iloc[:,-1]):
    # print(imageString[0:10])
    data[idx,-1] = imageString.split(" ")

但是,这个错误出现在最后一行:

ValueError:值的长度与索引长度不匹配

所以我的问题是:

  1. 有人能解释我为什么会犯上述错误吗?我该如何避免呢?
  2. 这是将split应用于数据帧最后一列中的每个值的正确方法吗?

关于#2 -我看到一些人使用applymap,但我认为这会创建一个新的列,我只是想用另一个列表替换现有列中的值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-24 20:58:30

我想你需要str.split

代码语言:javascript
运行
AI代码解释
复制
data = pd.read_csv('data/training.csv')
data.iloc[:,-1] = data.iloc[:,-1].str.split(expand=False)

然后使用str[1]str[n]选择列表的第一个或其他元素

代码语言:javascript
运行
AI代码解释
复制
data.iloc[:,-1] = data.iloc[:,-1].str.split(expand=False).str[0]
data.iloc[:,-1] = data.iloc[:,-1].str.split(expand=False).str[n]

示例:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd

data = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':['aa aa','ss uu','ee tt']})

print (data)
   A  B  C  D  E      F
0  1  4  7  1  5  aa aa
1  2  5  8  3  3  ss uu
2  3  6  9  5  6  ee tt

print (data.iloc[:,-1].str.split(expand=False))
0    [aa, aa]
1    [ss, uu]
2    [ee, tt]
Name: F, dtype: object

data.iloc[:,-1] = data.iloc[:,-1].str.split(expand=False).str[0]
print (data)
   A  B  C  D  E   F
0  1  4  7  1  5  aa
1  2  5  8  3  3  ss
2  3  6  9  5  6  ee
代码语言:javascript
运行
AI代码解释
复制
data.iloc[:,-1] = data.iloc[:,-1].str.split(expand=False).str[1]
print (data)
   A  B  C  D  E   F
0  1  4  7  1  5  aa
1  2  5  8  3  3  uu
2  3  6  9  5  6  tt

有人能解释我为什么会犯上述错误吗?我该如何避免呢?

问题是imageString.split(" ")返回list,如果将字符串赋值给data[idx,-1],则字符串元素的长度小于所有DataFrame的长度。

这是对数据帧最后一列中的每个值应用拆分的正确方法吗?

最好是使用字符串方法,参见熊猫文献

票数 2
EN

Stack Overflow用户

发布于 2016-07-24 21:27:22

您没有正确地访问这些值。

要更正代码,最后一行应该是:

代码语言:javascript
运行
AI代码解释
复制
df.iat[idx, -1] = imageString.split(" ")

iat用于标量获取和设置。

这可能是实现您的目标的更简单的方法:

代码语言:javascript
运行
AI代码解释
复制
df.iloc[:, -1] = df.iloc[:, -1].str.split()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38559967

复制
相关文章
如何将Python应用于数据科学工作
假设你想开发一个能够自动检测图片内容的程序。给出图1,你希望程序识别这是一只狗。
CDA数据分析师
2019/08/30
1K0
如何将Python应用于数据科学工作
箭头函数中的'this'值
那么 为什么hobby的值输出成功,而name不能够输出呢?是因为lucifer丑吗?其实那只是其中一个因素,还有一个因素就是在ZnHobbies方法中的this已经不属于上一个区块,而这里的this并没有name值。所以 解决办法的其中一个就是在ZnHobbies函数中写入
学前端
2020/04/07
2.2K0
如何将Apache Hudi应用于机器学习
如果要将AI嵌入到企业计算系统中,企业必须重新调整其机器学习(ML)开发流程以使得数据工程师、数据科学家和ML工程师可以在管道中自动化开发,集成,测试和部署。本博客介绍了与机器学习平台进行持续集成(CI),持续交付(CD)和持续培训(CT)的平台和方法,并详细介绍了如何通过特征存储(Feature Store)执行CI / CD机器学习操作(MLOps)。以及特征存储如何将整体的端到端ML管道重构为特征工程和模型训练管道。
ApacheHudi
2021/04/13
1.9K0
如何找出单向链表中每个节点之后的下个较大值?
1. 要找到的是一个元素之后下个较大值,这里的关键词是[下个较大值]是其后第一个大于当前元素的值.如例子中,第二个元素4(list[1])对应的下个较大值应为5,而不是8.
一个架构师
2022/06/20
1.1K0
如何找出单向链表中每个节点之后的下个较大值?
python中函数的返回值详解
在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存
Python学习者
2023/03/27
3.3K0
MySQL中的ifnull()函数判断空值
我们知道,在不同的数据库引擎中,内置函数的实现、命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆。
星哥玩云
2022/08/18
9.9K0
实用:如何将aop中的pointcut值从配置文件中读取
改造老项目,须要加一个aop来拦截所的web Controller请求做一些处理,由于老项目比较多,且包的命名也不统一,又不想每个项目都copy一份相同的代码,这样会导致后以后升级很麻烦,不利于维护。于是我们想做成一个统一的jar包来给各项目引用,这样每个项目只须要引用该jar,然后配置对应的切面值就可以了。
Bug开发工程师
2019/12/09
24.1K1
JavaScript 函数中带有参数并返回值的函数
document.getElementById("demo").innerHTML=myFunction(4,3);
好派笔记
2021/09/18
5.7K0
如何将 Transformer 应用于时间序列模型
在机器学习的广阔前景中,transformers 就像建筑奇迹一样高高耸立,以其复杂的设计和捕获复杂关系的能力重塑了我们处理和理解大量数据的方式。
数据科学工厂
2023/09/24
7560
如何将 Transformer 应用于时间序列模型
golang刷leetcode: 在每个树行中找最大值
3,深度优先遍历:深度优先一般是递归解,每次递归的时候记录当前访问的深度,递归过程中对相同深度的取最大值。
golangLeetcode
2022/08/02
6730
LeetCode44|在每个树行中找最大值
队列的使用,队列的特点是先进先出,这也是日常生活很常见的一种的场景,购物,进站等场景吧,计算机里面队列的使用也是很常见的,比如打开计算机时,机器是如何运转的,优先级队列的运用却大有其奥妙之处,这就是队列的场景
码农王同学
2020/08/25
6290
LeetCode44|在每个树行中找最大值
Pandas数据处理4、DataFrame记录重复值出现的次数(是总数不是每个值的数量)
Pandas数据处理4、DataFrame记录重复值出现的次数(是总数不是每个值的数量)
红目香薰
2023/02/17
2.4K0
Pandas数据处理4、DataFrame记录重复值出现的次数(是总数不是每个值的数量)
GDI+ 读取jpg图片每个像素的值
// 读取jpg图像像素rgb值.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <fstream> #include <string> #include <windows.h> #include <gdiplus.h> #pragma comment(lib, "gdiplus.lib") using namespace std; using namespace Gdiplus; int main()
流川疯
2022/11/29
1.2K0
GDI+ 读取jpg图片每个像素的值
Golang 中函数作为值与类型
在 Go 语言中,我们可以把函数作为一种变量,用 type 去定义它,那么这个函数类型就可以作为值传递,甚至可以实现方法,这一特性是在太灵活了,有时候我们甚至可以利用这一特性进行类型转换。作为值传递的条件是类型具有相同的参数以及相同的返回值。
张乘辉
2019/06/14
1.7K0
matlab插值函数的作用,matlab 插值函数[通俗易懂]
MATLAB中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,’method’)
全栈程序员站长
2022/09/05
1.3K0
如何将Beautiful Soup应用于动态网站抓取?
从大多数网站收集公共数据可能不是什么难事。但还有许多网站是动态的,并且使用JavaScript加载其内容。使用JavaScript动态加载内容,又被称为AJAX(非同步的JavaScript与XML技术)。面对这种情况,我们就需要用到不同的方法来从这些网站上收集所需的数据。今天,Oxylabs将为您重点介绍使用Beautiful Soup抓取AJAX动态网站的相关内容。
用户7850017
2022/11/11
2.1K0
如何将Beautiful Soup应用于动态网站抓取?
图像每个像素点的值以及三个通道值的运算。
from matplotlib import pyplot as pyl import cv2 import numpy img = cv2.imread("C:/Users/xpp/Desktop/time2.jpg") img_BGR = cv2.imread("C:/Users/xpp/Desktop/time2.jpg") img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) img = cv2.imread("C:/Users/xpp/Deskto
裴来凡
2022/05/28
6250
图像每个像素点的值以及三个通道值的运算。
如何将深度学习应用于无人机图像的目标检测
本文全面概述了基于深度学习的对无人机航拍图像进行物体检测的方法。我们还介绍了一个应用示例:利用无人机监测一个非洲住房项目的建设进度。
AI研习社
2018/12/24
2.3K0
computed计算属性值是函数的监控的数据
computed 页面重新渲染时,不会重复计算,而 watch 会重新计算,所以 computed 性能更高些。
用户7365393
2021/10/06
9610
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.3K0

相似问题

如何将多个函数应用于单个熊猫数据栏?

45

将递归函数应用于熊猫数据栏

13

根据应用于该列的计算函数覆盖熊猫数据栏中的值

16

将函数应用于熊猫数据栏的某些组

14

将值应用于熊猫栏

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文