- 主题:请教一个pandas问题,list做为元素,怎么做list运算
一个dataframe,有一列的值都是list
name info
0 tom ['a','b','c']
1 jack ['a','c','d']
2 tony ['b','c','d']
我想做一个这样的运算:
df.loc[df['name']=='tom','info'] = \
df.loc[df['name']=='tom','info'].iloc[0] + ['d']
就是想把tom的info,改成['a','b','c','d'],总是报错,半天搞不定。
变通的办法就是做文本运算"a,b,c" + "," + "d",这样没问题。
我就是想知道,有没有办法做list运算。
--
修改:tictoc FROM 47.117.171.*
FROM 47.117.171.*
.apply(lambda x: x + ['d'])
【 在 tictoc 的大作中提到: 】
: 一个dataframe,有一列的值都是list
: name info
: 0 tom ['a','b','c']
: ...................
--
FROM 163.125.197.*
多谢,可行!
【 在 iwannabe 的大作中提到: 】
: 标 题: Re: 请教一个pandas问题,list做为元素,怎么做list运算
: 发信站: 水木社区 (Fri May 31 00:20:38 2024), 转信
:
: .apply(lambda x: x + ['d'])
:
: 【 在 tictoc 的大作中提到: 】
: : 一个dataframe,有一列的值都是list
: : name info
: : 0 tom ['a','b','c']
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 163.125.197.*]
--
FROM 47.117.171.*
你现在这么处理很别扭
而且运行效率和编程效率都不高
我觉得你要么就直接处理字符串, 用apply之类的方法
要么就把list展开成多列再处理
用类似
df.set_index('name')['info'].apply(pd.Series)
的处理方法
你的原码出错的原因是表述有二义性
你选出来的左值是一个不知几行的列
你给的右值是个list
pandas发现两边对不齐就不知道应该怎么填进去了
【 在 tictoc 的大作中提到: 】
: 一个dataframe,有一列的值都是list
: name info
: 0 tom ['a','b','c']
: ...................
--
FROM 123.123.200.*
多谢指教!
我是不懂编程,都是边学边做的,水平十分低下。^^
有空的时候我想找个教程系统过一遍。
【 在 xuanqing 的大作中提到: 】
: 标 题: Re: 请教一个pandas问题,list做为元素,怎么做list运算
: 发信站: 水木社区 (Fri May 31 09:47:57 2024), 转信
:
: 你现在这么处理很别扭
: 而且运行效率和编程效率都不高
:
: 我觉得你要么就直接处理字符串, 用apply之类的方法
: 要么就把list展开成多列再处理
: 用类似
: df.set_index('name')['info'].apply(pd.Series)
: 的处理方法
:
: 你的原码出错的原因是表述有二义性
: 你选出来的左值是一个不知几行的列
: 你给的右值是个list
: pandas发现两边对不齐就不知道应该怎么填进去了
:
: 【 在 tictoc 的大作中提到: 】
: : 一个dataframe,有一列的值都是list
: : name info
: : 0 tom ['a','b','c']
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 123.123.200.*]
--
FROM 47.117.171.*
先快糙猛的转起来
效率什么的可以后面再慢慢搞
现在不都流行面向gpt编程吗
【 在 tictoc 的大作中提到: 】
: 多谢指教!
: 我是不懂编程,都是边学边做的,水平十分低下。^^
: 有空的时候我想找个教程系统过一遍。
: ...................
--
FROM 123.123.200.*
是,我公司很多需求就是最快速搞出来功能,跑的慢点没事。。。
【 在 xuanqing 的大作中提到: 】
: 先快糙猛的转起来
: 效率什么的可以后面再慢慢搞
: 现在不都流行面向gpt编程吗
: ...................
--
FROM 223.64.103.*
对啊
不过早的优化
先跑起来再说
没准跑了一看啥用没有
就不用优化直接弃了
【 在 richiter 的大作中提到: 】
: 是,我公司很多需求就是最快速搞出来功能,跑的慢点没事。。。
--
FROM 123.123.200.*