首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >熊猫:将列中的列表展开为不同的行

熊猫:将列中的列表展开为不同的行
EN

Stack Overflow用户
提问于 2015-11-01 05:01:07
回答 2查看 701关注 0票数 1

我有一个有大量列的数据集,其中包含多个值(从google导入,这些列允许多个选择)。我一开始就把它们作为列表导入。

现在,我想根据这些列中的一些值来分析数据,即

代码语言:javascript
运行
AI代码解释
复制
df = pd.DataFrame(dict(a=[(1,2),(2,3),(1,)], b=[(1,3),(2,5),], c=['a','b','c']))

        a       b  c
0  (1, 2)  (1, 3)  a
1  (2, 3)  (2, 5)  b
2     (1)      ()  c

我想绘制一个条形图,其中X将是不同于列a和b的不同值(它们共享相同的一组选项),而Y将是拥有该选项的行的总数:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-01 05:33:40

您可以通过对列进行求和(基本上是连接内容),然后对它们调用pd.value_counts来做到这一点。例如(稍微修改dataframe定义,这样它就不会引发错误):

代码语言:javascript
运行
AI代码解释
复制
df = pd.DataFrame(dict(a=[(1,2),(2,3),(1,)],
                       b=[(1,3),(2,5),()],
                       c=['a','b','c']))
counts = pd.DataFrame({col: pd.value_counts(df[col].sum())
                       for col in ['a', 'b']})
counts.plot(kind='bar')

(先前对问题原文的答复):

您可以使用一个映射获取2a中的所有行。

代码语言:javascript
运行
AI代码解释
复制
>>> df = pd.DataFrame(dict(a=[[1,2],[2,3],[1,3]], b=['a','b','c']))
>>> df
        a  b
0  [1, 2]  a
1  [2, 3]  b
2  [1, 3]  c

>>> df[df.a.map(lambda L: 2 in L)]
        a  b
0  [1, 2]  a
1  [2, 3]  b

您可以使用一个groupby和一个filter来完成类似的任务,但首先必须将a值转换为元组,以便它们是可选的(并且可以是组键):

代码语言:javascript
运行
AI代码解释
复制
>>> df.groupby(df.a.map(tuple)).filter(lambda group: 2 in group.name)
        a  b
0  [1, 2]  a
1  [2, 3]  b

获得这些结果之一后,可以使用(例如result['a'] = 2 )替换a列中的值。

票数 1
EN

Stack Overflow用户

发布于 2015-11-01 05:34:06

我们可以使用布尔索引来过滤记录,在列2中不包含'a'

代码语言:javascript
运行
AI代码解释
复制
df = pd.DataFrame(dict(a=[[1,2],[2,3],[5,6]], b=['a','b','c']))

df
Out[16]: 
        a  b
0  [1, 2]  a
1  [2, 3]  b
2  [5, 6]  c

df[df.a.apply(lambda x: 2 in x)]
Out[17]: 
        a  b
0  [1, 2]  a
1  [2, 3]  b
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33462401

复制
相关文章
将 UWP 中 CommandBar 的展开方向改为向下展开
发布于 2018-10-05 19:37 更新于 2018-10-16 08:57
walterlv
2020/02/10
1.7K0
SQL中的行转列和列转行
SQL是IT行业很多岗位都要求具备的一项能力,对于数据岗位而言更是如此,甚至说扎实的SQL基础也往往是入职这些岗位的必备技能。而在SQL面试中,一道出镜频率很高的题目就是行转列和列转行的问题,可以说这也是一道经典的SQL题目,本文就这一问题做以介绍分享。
luanhz
2021/06/25
7.2K0
SQL 中的行转列和列转行
行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下列转行、行转列问题。
玖柒的小窝
2021/11/08
5.6K0
SQL 中的行转列和列转行
Element Table 动态生成列并且不同的列显示不同的样式
我们在使用表格控件时,经常需要动态生成表格的列,并且某些列要求特殊的样式(如右对齐)
tianyawhl
2020/02/25
5.3K0
ECharts数据集( dataset )的行或列映射为系列(series)
用户可以使用 seriesLayoutBy 配置项,改变图表对于行列的理解。seriesLayoutBy 可取值:
别团等shy哥发育
2023/02/25
1.1K0
ECharts数据集( dataset )的行或列映射为系列(series)
Python 嵌套列表展开
问题1:对于列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] 转化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的问题。
py3study
2020/01/08
3K0
如何将文章列表用<li>分两列显示
  我们平时用ul或ol标签来罗列文章列表时默认是一列,为了美观起见,想把它们两列显示要如何操作呢?怎么用css定义它们?   其实相对比较简单,用几行css样式定义一下就够了,可以用div + css来控制 <style type="text/css"> .ytkah{ width:300px; height:74px; float:left;} .ytkah ul{ width:280px;} .ytkah li{ width:100px; float:left; display:block;} </s
ytkah
2018/03/06
1.9K0
bootstrap3 将一行分成三列
<div class="container"> <div class="row"> <div class="col-sm-4"> <h2>Welcome!</h2> <p>Suspendisse et arcu felis ...</p> <p><a href="#">See our portfolio</a></p> </div> <div class="col-sm-4"> <h2>Recent Updates</h2> <p>Suspendisse et arcu felis ...</p> <p><a href="#">See what's new!</a></p> </div> <div class="col-sm-4"> <h2>Our Team</h2> <p>Suspendisse et arcu felis ...</p> <p><a href="#">Meet the team!</a></p> </div> </div> </div>
用户5760343
2019/10/14
2.6K0
bootstrap3 将一行分成三列
编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出
前几天在某乎上看到了一个粉丝提问,编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出?这里拿出来跟大家一起分享下。
前端皮皮
2023/08/17
4090
编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出
使用VBA删除工作表多列中的重复行
自Excel 2010发布以来,已经具备删除工作表中重复行的功能,如下图1所示,即功能区“数据”选项卡“数据工具——删除重复值”。
fanjy
2022/11/16
11.6K0
使用VBA删除工作表多列中的重复行
python进阶-嵌套列表展开
本文讲解的是一个Python的进阶知识点:**如何将一个嵌套的大列表展开形成一个大列表。
皮大大
2023/08/25
3680
python进阶-嵌套列表展开
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
Python 中的 数据容器 数据类型 可以 存放多个数据 , 每个数据都称为 元素 , 容器 的 元素 类型可以是任意类型 ;
韩曙亮
2023/10/11
4160
【Python】列表 List ① ( 数据容器简介 | 列表 List 定义语法 | 列表中存储类型相同的元素 | 列表中存储类型不同的元素 | 列表嵌套 )
清明节偷偷训练“熊猫烧香”,结果我的电脑为熊猫“献身了”!
最近,很多小伙伴都知道,就在清明节假期的最后一天晚上,我偷练“禁术”——熊猫烧香,结果悲剧了。电脑陷于无限重启中,小伙伴们可以看下我写的《千万不要轻易尝试“熊猫烧香”,这不,我后悔了!》。今天,写这篇文章是因为很多小伙伴都很关心我的电脑后续情况如何了。下面就给大家分享下,尝试“熊猫烧香”的后续情节。
冰河
2021/04/16
1.7K0
git为不同的项目设置不同的邮箱
在我们使用Git开发项目的时候,可能经常会碰到个人和公司开发的项目都在一台机器上的情况。不管你们有没有,反正我是碰到了。因为公司有公司自己分配的邮箱,而我自己喜欢用自己的邮箱开发自己的项目。这样可能会导致邮箱混用的情况。
魔王卷子
2019/05/31
1.3K0
不同列不同行的数据如何进行转置?
案例模拟文件下载 http://gofile.me/4KHV7/SUo5ywXxC
逍遥之
2020/03/24
2.9K0
不同列不同行的数据如何进行转置?
Pandas中求某一列中每个列表的平均值
前几天在Python最强王者交流群【冫马讠成】问了一道Pandas处理的问题,如下图所示。
前端皮皮
2022/08/17
5K0
Pandas中求某一列中每个列表的平均值
SQL 将多列的数据转到一列
如题。假设我们要把 emp 表中的 ename、job 和 sal 字段的值整合到一列中,每个员工的数据(按照 ename -> job -> sal 的顺序展示)是紧挨在一块,员工之间使用空行隔开。
白日梦想家
2020/09/08
5.5K0
列存储、行存储
Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析、数据挖掘等查询密集型应用。列存储,缩写为DSM,相对于NSM(N-ary storage model),其主要区别在于:
全栈程序员站长
2022/09/14
7.9K0
列存储、行存储
MySQL中的行转列和列转行操作,附SQL实战
MySQL是一款常用的关系型数据库,广泛应用于各种类型的应用程序和数据存储需求。在MySQL中,我们经常需要对表格进行行转列或列转行的操作,以满足不同的分析或报表需求。本文将详细介绍MySQL中的行转列和列转行操作,并提供相应的SQL语句进行操作。
网络技术联盟站
2023/06/08
18.6K2
点击加载更多

相似问题

将熊猫数据帧中的列表展开为其他行

11

熊猫-将数组展开为列

24

如何使用Python熊猫将某些列展开为行

44

熊猫Dataframe:将包含列表的行展开为多行,并为所有列建立索引

32

将字符串值的熊猫列列表展开为多个列。

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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