- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的数据集,我需要单行中每个类别的所有不同权重和计数
Sample_data
category weights
1 aa 3.2
2 aa 2.2
3 aa 4.2
4 bb 3.5
5 bb 4.5
6 aa 0.5
7 cc 0.6
8 bb 7.5
9 cc 6.6
10 dd 2.2
11 aa 3.3
12 bb 4.4
13 cc 5.5
14 dd 6.6
我需要的是同一行中每个唯一类别的计数以及每个类别的不同权重。
Expected output:
category count weight1 weight2 weight3 weight4 weight5
1 aa 5 3.2 2.2 4.2 0.5 3.3
2 bb 4 3.5 4.5 7.5 4.4
3 cc 3 0.6 6.6 5.5
4 dd 2 2.2 6.6
我以为
sampledata['category'].groupby(level = 0)
会工作,但不会。有人可以帮助我如何在 python 中执行此操作。
最佳答案
我可能会缩短这个但以下工作:
In [51]:
cat = df.groupby('category')['weights'].agg({'count':'count', 'weight_cat':lambda x: list(x)}).reset_index()
cat
Out[51]:
category count weight_cat
0 aa 5 [3.2, 2.2, 4.2, 0.5, 3.3]
1 bb 4 [3.5, 4.5, 7.5, 4.4]
2 cc 3 [0.6, 6.6, 5.5]
3 dd 2 [2.2, 6.6]
In [52]:
cat = cat.join(cat['weight_cat'].apply(lambda x: pd.Series(x)))
cat
Out[52]:
category count weight_cat 0 1 2 3 4
0 aa 5 [3.2, 2.2, 4.2, 0.5, 3.3] 3.2 2.2 4.2 0.5 3.3
1 bb 4 [3.5, 4.5, 7.5, 4.4] 3.5 4.5 7.5 4.4 NaN
2 cc 3 [0.6, 6.6, 5.5] 0.6 6.6 5.5 NaN NaN
3 dd 2 [2.2, 6.6] 2.2 6.6 NaN NaN NaN
In [68]:
rename_cols = [col for col in cat if type(col) == int]
rename_weight_cols = ['weight'+str(col + 1) for col in rename_cols]
d = dict(zip(rename_cols, rename_weight_cols))
cat.rename(columns = d,inplace=True)
cat
Out[68]:
category count weight_cat weight1 weight2 weight3 \
0 aa 5 [3.2, 2.2, 4.2, 0.5, 3.3] 3.2 2.2 4.2
1 bb 4 [3.5, 4.5, 7.5, 4.4] 3.5 4.5 7.5
2 cc 3 [0.6, 6.6, 5.5] 0.6 6.6 5.5
3 dd 2 [2.2, 6.6] 2.2 6.6 NaN
weight4 weight5
0 0.5 3.3
1 4.4 NaN
2 NaN NaN
3 NaN NaN
所以上面所做的是首先对“类别”列进行分组并对权重列执行聚合,我们创建一个计数列,然后我们将该组的所有值转换为一个列表并添加它。
然后我对该列表调用 apply
将它变成一个系列,这将自动生成列 0..4 的名称。
然后我创建一个字典,根据需要将列重命名为 weight1 到 5。
关于python - python(transpose)中如何基于单列展开数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30568304/
我有一个针对单行中的单个列的mysql查询 "SELECT some_col_name FROM table_name WHERE user=:user" 执行语句$stmt->execute();后
我想创建一个应用程序,以这种格式在核心文本(滑动到下一页)中显示捆绑文本文件: 旁遮普语文本 旁遮普语音译成英语 旁遮普语翻译成英语 但我希望用户能够通过设置选项卡选择显示的语言,我知道该怎么做,即
我已经在 Angular 应用程序中设置了一个 ag-grid。我正在尝试使单列填充网格的整个宽度。 但后来我明白了。
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我目前正在运行如下查询: SELECT a.ID, a.ContactID, a.Code, FROM tableA a JOIN (SELECT ContactID, Code FROM
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我正在使用 codeigniter insert_batch($table, $data);我的列名称为“客户发布的评论”。 当我尝试批量插入数据时。插入查询更改为: INSERT INTO `tab
我有两个问题: 我想知道这是否是对单列 TreeView 进行搜索/过滤的正确方法。我觉得我的很多复制/粘贴可能包含不必要的东西。 QSortFilterProxyModel子类中的所有代码和sear
我有一个应用程序,我想获取多个软件包的 RPM 信息,并以令人愉悦且引人注目的方式对其进行格式化。 *繁荣*。 我的问题是 rpm 想要将数据格式化为两列,这很烦人。 命令 rpm -qi ruby
具有单列表(身份列)的目的是什么?有没有好的用例可用? 这真的是一个好习惯吗? 最佳答案 我认为人们使用它来复制 Oracle 的 SEQUENCE。基本上,他们希望他们在系统中创建的任何实体都有一个
我正在将数据库连接从 mysqli 转移到 PDO。更新时,我陷入了一个查询:在mysql中它是: $quec='designation=10 OR designation=11 OR designa
给定MySQL中的一列字符串(密码)并给定一个值N,我正在寻找一种sql方式来计算每个n-的频率gram(长度为 n 的子串)。 将代码保留在 MySQL 中很重要,因为在我拥有的其他环境中,它会导致
我对 GtkTreeView 有以下问题。 当我尝试附加列表时出现问题。这是我创建的函数: static GtkWidget *setup_list_archive(GtkWidget **wid
我是 JPA/Hibernate 的新手。假设我有这两个表: Employee (Id, Name, DeptId, ..)//DeptId 是外键。 Department (Id, DeptName
我正在调用的 REST API 返回一个数组,格式如下: ["a", "b", "c", "d"] 我的 ui-grid 需要在单列中显示这些数据条目,每行一个。 我有: $scope.items
我正在使用由 passy 创建的 Angular masonry 指令,当第一个元素的宽度几乎达到 100% 时我遇到了问题。在这种情况下,所有元素都合并在一个列中,否则我认为行为没问题。 我创建了一
我想将此嵌套数组转换为单个 pandas 数据框列,我该怎么做?有人可以帮我吗? array([array([ nan, 16.40411828, 23.671878
有一个遗留的 LAMP 应用程序,我正在将其转换为 JVM。 所讨论的问题需要一个包含@250K 记录的评分表。目前,“scoreType”列表示为tinyint,其中1 = 目标,2 = 协助1,3
我正在考虑 MySQL 5.6 InnoDB 表的以下架构。我无法决定使用哪些键: "CREATE TABLE IF NOT EXISTS `context` (" " `text_
我是一名优秀的程序员,十分优秀!