首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用熊猫从dataframe列中的单个单元格中提取多个值

使用熊猫从dataframe列中的单个单元格中提取多个值
EN

Stack Overflow用户
提问于 2022-05-08 18:51:20
回答 1查看 253关注 0票数 0

我的dataframe中有一个列如下:

代码语言:javascript
运行
复制
var1 year 
a   [2025]
b   [2025,2030]
c   [2023,2025,2030,2040]
d     .
e     .
f     .

我希望每年在每个牢房中提取,并使其如下:

代码语言:javascript
运行
复制
var1 year
a   2025
b   2025
b   2030
c   2023
c   2025
c   2030
c   2040
     .
     .
     .

有什么想法,我怎么能像上面那样提取它们呢?

我尝试了下面的代码,但是无法分离列表中的值。

代码语言:javascript
运行
复制
names = ['sentence-carbon', 'sentence-water']
idx = pd.MultiIndex.from_tuples(df[names].values.tolist(), names=names)
pd.DataFrame(df['SentenceTargetYear'].tolist(), idx).stack().reset_index(names, 
name='SentenceTargetYear')
EN

回答 1

Stack Overflow用户

发布于 2022-05-08 19:05:26

如果explode列包含列表,则必须对数据进行year

代码语言:javascript
运行
复制
>>> df.explode('year')
  var1  year
0    a  2025
1    b  2025
1    b  2030
2    c  2023
2    c  2025
2    c  2030
2    c  2040

如果您的列包含列表的字符串表示形式,则必须首先进行eval

代码语言:javascript
运行
复制
>>> df.assign(year=pd.eval(df['year'])).explode('year')
  var1  year
0    a  2025
1    b  2025
1    b  2030
2    c  2023
2    c  2025
2    c  2030
2    c  2040
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72164185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档