利用 groupby apply list 分组合并字符

利用 groupby apply list 分组合并字符

因为需要对数据进行分组和合并字符,找到了以下方法。
有点类似 SQL 的 Group BY。

import pandas as pd
import numpy as np

data = pd.DataFrame({
    'id': [1, 2, 1, 2, 2, 2],
    'value': ['A', 'B', 'C', 'D', 'E', 'G1']
})

print(data.groupby('id')['value'].apply(list))

参考
pandas.DataFrame.groupby
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html

python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
https://blog.csdn.net/youngbit007/article/details/54288603

用Python开始的数据分析——分组groupby(1)
https://zhuanlan.zhihu.com/p/29371291

这篇更好【Python】分组统计GroupBy技术详解
https://blog.csdn.net/Asher117/article/details/85614034

原文地址:https://www.cnblogs.com/F4NNIU/p/10469739.html

时间: 2024-08-07 07:56:09

利用 groupby apply list 分组合并字符的相关文章

GroupBy,Apply用法笔记

GroupBy针对DataFrame将其按照某个准则分组 1.常见的调用形式为: df['a'].GroupyBy(df['b']) df.GroupyBy(df['b','c'])#层次化的索引 df.GroupyBy(['b','c'])#直接将columns名称作为索引键进行索引 以上可理解为将Series作为分组键,y此外还可以将任何适当长度的array作为分组键,目前未尝试过 2.常用的方法: df.GroupyBy(df['b']).mean()#非数值列数据直接跳过 df.Grou

Android笔记:利用InputStream和BufferedReader 进行字节流 字符流处理

通过socket获取字节流处理时最初使用的是BufferedReader和PrintWriter  这种方式在解析字符串时是比较方便的 但是在处理字节时不够方便最终还是回归到InputStream和OutputStream方式 不使用缓存直接使用字节流操作,一次传输的字节数据在300字节以内,目前没有测试差距会有多大. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException;

分组合并,动态分列

1 IF OBJECT_ID('TEMPDB..#TEMP')>0 2 DROP TABLE #TEMP 3 GO 4 IF OBJECT_ID('TEMPDB..#TEMP2')>0 5 DROP TABLE #TEMP2 6 GO 7 8 --模拟数据 9 SELECT *INTO #TEMP FROM ( 10 SELECT 'A' col1,'B' col2,'C' col3,'1' X,'2'Y,'3'Z 11 UNION ALL 12 SELECT 'A' A,'B' B,'C'

利用JavaScript控制表格的合并

<html> <head> <title>用JavaScript进行表格的合并</title> </head> <body> 表格1: <table id="table1" border="1" width="300px" height="300px"> <tr><td>11</td><td>12

利用os和pandas来合并当前目录下所有excel文件

#1.引入模块 import os import pandas as pd #2.取出指定目录下的全部excel文件路径 path="C:\\TEST" dirlist=[] for dirpath,dirname,filename in os.walk(path): for i in filename: dirlist.append(os.path.join(dirpath,i)) #3.创建一个df对象列表,并进行合并操作 dflist=[] for i in dirlist: d

利用Linq对集合元素合并、去重复处理

今晚看了一篇前辈写的linq对集合元素合并去重复处理,觉得有点麻烦,原文地址如下:http://www.cnblogs.com/yjmyzz/archive/2012/12/18/2823170.html#undefined. 于是我自己琢磨利用linq的分组函数,重新写了一个方法,代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleAp

自动分组+合并完整的sql脚本

BEGIN#前提:指定字符串长度为8字符定长#逻辑:循环8次,比对2个字符串相同索引位置下的数值大小,并取结果最大值.#示例:merge1(输入参数source1,输入参数source2,输出结果result)#注意:输入参数必须是8位字符串    set @cindex=1;    set result='';    WHILE @cindex<9 DO        set @temp1=SUBSTR(source1,@cindex,1)+0;        set @temp2=SUBST

PHP 按照多个键值给数组分组合并

简介: $array 为一堆数组,各数组键值为固定 $keys为分组依据,在$array中按照$keys所指定的键值将数组分组,并且将除$keys指定键值对应的值以外的值合并 1 function groupBy($array,$keys){ 2 $i = 0; 3 while($i < sizeof($array)){ 4 $x = sizeof($array) - 1; 5 while ($x > $i) { 6 //取数组交集并返回交集,保留键名 7 $temp = array_inte

Linq分组合并

有一个List,要求按日期分组,将同一天的数据组合起来,用Linq实现. namespace ConsoleApplication1 { class Program { static void Main(string[] args) { List<Student> students = new List<Student>() { new Student(){ ID = 1 , Name ="guwei1", BirthDay=DateTime.Now.AddHo