社区首页 >问答首页 >Pandas DataFrame从另一个DataFrame中查找最常用的字符串

Pandas DataFrame从另一个DataFrame中查找最常用的字符串
EN

Stack Overflow用户
提问于 2021-02-19 21:25:44
回答 1查看 58关注 0票数 0

我有合并所有名称的代码,并计算它们的统计数据,并统计它们出现的次数。我在其中添加了另一个专栏。如何从不同的数据帧中打印最常见的名称?在我的代码中,它的意思是,我想要找到最常见的汽车品牌。

我像这样抓取数据:

代码语言:javascript
代码运行次数:0
复制
'Mercedes-Benz Klasa S', 4390.0, '(Dolnośląskie)']
['Mitsubishi Carisma 1.8', 3999.0, '(Pomorskie)']
['Audi A4 1.6', 4000.0, '(Łódzkie)']
代码语言:javascript
代码运行次数:0
复制
 for offer in all_offers:
        # get the interesting data and write to file

        title = offer.find('a', class_='offer-title__link').text.strip()

        price = offer.find('span', class_='offer-price__number').text.strip().replace(' ', '').replace('\nPLN', '').replace('\nEUR', '')
        location = offer.find('span', class_='ds-location-region').text.strip()

        item = [title, float(price.replace(",", ".") ),location]
        data.append(item)
        print(item)
代码语言:javascript
代码运行次数:0
复制
for name in  [
  'Alfa Romeo','Aston Martin', 'Audi',']:

    print('---', name,'pojemność od 2000cm3' '---')
    cars = df[df['title'].str.contains(name)]


    print('count:', len(cars))

    print('price min    :', cars['price'].min())
    print('price average:', cars['price'].mean())
    print('price max    :', cars['price'].max())


    cars.plot.hist(title=name)
    plt.show()

和voivodships

代码语言:javascript
代码运行次数:0
复制
for voivodships in ['('(Śląskie)', '(Świętokrzyskie)', '(Warmińsko-mazurskie)', '(Wielkopolskie)','(Zachodniopomorskie)']:


    locations= df[df['location'].str.contains(voivodships)]
    print('---', voivodships, '---')
    print('ilość ogłoszeń w :', len(voivodships))
EN

回答 1

Stack Overflow用户

发布于 2021-02-19 22:04:49

我认为你不需要循环,而且你可能不应该使用它们。

这里有一个仅使用熊猫的解决方案。我对你的数据集做了一点扩展。

代码语言:javascript
代码运行次数:0
复制
df = pd.DataFrame.from_records([
    ['Mercedes-Benz Klasa S', 4390.0, '(Dolnośląskie)'],
    ['Mitsubishi Carisma 1.8', 3999.0, '(Pomorskie)'],
    ['Audi A4 1.6', 5790.0, '(Łódzkie)'],
    ['Mercedes-Benz Klasa S', 2390.0, '(Dolnośląskie)'],
    ['Mitsubishi Carisma 1.8', 3999.0, '(Dolnośląskie)'],
    ['Audi A6 2.0', 7000.0, '(Łódzkie)'],
    ['Mercedes-Benz Klasa S', 5390.0, '(Łódzkie)'],
    ['Audi A3 1.6', 4000.0, '(Dolnośląskie)'],
], columns=['make_model', 'price', 'region'])
df.region = df.region.str.slice(1,-1)
df['make'] = df.make_model.str.split(' ').str[0]
df.pivot_table(
    index=['region', 'make'], 
    aggfunc={'price':['mean', 'min', 'max'], 'make':'count'}
)

有关详细说明,请参阅内联注释。结果:

代码语言:javascript
代码运行次数:0
复制
                           count     max    mean     min
region       make                                       
Dolnośląskie Audi              1  4000.0  4000.0  4000.0
             Mercedes-Benz     2  4390.0  3390.0  2390.0
             Mitsubishi        1  3999.0  3999.0  3999.0
Pomorskie    Mitsubishi        1  3999.0  3999.0  3999.0
Łódzkie      Audi              2  7000.0  6395.0  5790.0
             Mercedes-Benz     1  5390.0  5390.0  5390.0

如果你只是想看看最频繁的make by region,这是可以做到的:

代码语言:javascript
代码运行次数:0
复制
df.groupby('region')['make'].agg([
    lambda x: x.value_counts().index[0],
    lambda x: x.value_counts().values[0]
])

在这里,您按区域分组,然后在此组中,计算take的值,并取第一个,也是最频繁的一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66285197

复制
相关文章
【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 )
泛型作用 : 为 类 , 接口 , 方法 提供复用性 , 支持类型不确定的数据类型 ;
韩曙亮
2023/03/28
5.4K0
泛型类、泛型方法、类型通配符的使用
       你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。
泰斗贤若如
2019/06/19
3.8K0
ArrayList的toArray()方法为啥不利用泛型返回List的泛型类型的数组探究
有些同学提出“ArrayList的public T[] toArray(T[] a) 带参数的方法支持泛型可以返回参数类型的数组,public Object[] toArray()
明明如月学长
2021/08/31
1.6K0
ArrayList的toArray()方法为啥不利用泛型返回List的泛型类型的数组探究
【Java 泛型】泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )
泛型 可以 简单理解为 参数化类型 , 主要作用在 类 , 方法 , 接口 上 ;
韩曙亮
2023/03/29
15.4K0
【Java 泛型】泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )
Java如何优雅获取泛型类型
在 Java 开发中,获取泛型这种操作虽不是很常用,但有时确实必须的,比如 将Json 字符串反序列化成对象的时候。今天就来介绍这个操作。
Bug开发工程师
2018/12/24
12.4K0
Java如何优雅获取泛型类型
【Kotlin】泛型 ① ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 )
将 泛型参数 T 放在 尖括号 <T> 中 , 该泛型参数放在 类名后 , 主构造函数之前 , 该泛型参数 T 是 类型占位符 ,
韩曙亮
2023/03/30
2.9K0
Java如何优雅获取泛型类型
在 Java 开发中,获取泛型这种操作虽不是很常用,但有时确实必须的,比如 将Json 字符串反序列化成对象的时候。今天就来介绍这个操作。
好好学java
2019/05/06
6.7K0
Java如何优雅获取泛型类型
Java如何优雅获取泛型类型
在 Java 开发中,获取泛型这种操作虽不是很常用,但有时确实必须的,比如 将Json 字符串反序列化成对象的时候。今天就来介绍这个操作。
Spark学习技巧
2019/05/21
2.7K0
Java如何优雅获取泛型类型
C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托
给.neter们整理了一份《.NET/C#面试手册》,目前大约4万字左右,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间。对于没有跳槽打算的也可以复习一下相关知识点,就当是查缺补漏!
全栈程序员站长
2022/09/14
2.6K0
C#泛型入门泛型类、泛型集合、泛型方法、泛型约束、泛型委托
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符
例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。
冷环渊
2021/11/29
3.5K0
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符
泛型方法
上一篇章我们出于类型安全的考虑,不建议使用原生类型,用List<?>代替使用,但是List<?>不允许添加除null以外的任何元素,因此我们需要使用泛型方法List<E>,如下: import jav
java达人
2018/01/31
1.3K0
【Java 泛型】泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )
泛型类用法 : 使用时先声明泛型 , 如果不声明泛型 , 则表示该类的泛型是 Object 类型 ;
韩曙亮
2023/03/29
10.2K0
【Java 泛型】泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )
【Kotlin】泛型总结 ★ ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 | 可变参数结合泛型 | out 协变 | in 逆变 | reified 检查泛型参数类型 )
将 泛型参数 T 放在 尖括号 <T> 中 , 该泛型参数放在 类名后 , 主构造函数之前 , 该泛型参数 T 是 类型占位符 ,
韩曙亮
2023/03/30
4.1K0
【Kotlin】泛型总结 ★ ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 | 可变参数结合泛型 | out 协变 | in 逆变 | reified 检查泛型参数类型 )
泛型方法
泛型方法 http://msdn2.microsoft.com/zh-cn/library/twcad0zb.... Service Locator with Generic Methods 泛型的Foxcop设计规则 Avoid excessive parameters on generic types Collections should implement generic interface Do not declare static members on generic types Do no
张善友
2018/01/22
7150
Java泛型基础(二)泛型接口泛型方法# 总结
泛型可以应用于同一个类,该类可以针对多种类型使用,例如构建一个RedisTemplateService组件,用于处理当前应用中所有对象的缓存操作。这篇文章主要介绍泛型应用于接口、方法和匿名内部类的一些知识点和使用案例,也包括《Java编程思想》中对应的练习题的解读。
阿杜
2018/08/06
3.3K0
Dart中的泛型方法、泛型类、泛型接口
为了能在一个方法里实现传入什么数据类型就返回什么数据类型,可以利用泛型将方法写成下面这样:
越陌度阡
2020/12/10
3.8K0
Dart中的泛型方法、泛型类、泛型接口
Java——泛型基本总结(通配符、泛型接口、泛型方法)
假如,现在定义一个表示坐标的类,Point,属性坐标x,y,但是此类设计特殊,现在由于设计特殊,现在实际使用中有可能出现以下三种结构的数据:
Winter_world
2020/09/25
3.3K1
Java——泛型基本总结(通配符、泛型接口、泛型方法)
切面获取泛型方法T的真实类型
这次是介绍一个使用了Mybatis Pro的项目中遇到的问题。Mybatis是在Spring项目中非常常见的持久层框架。在享受其带来的便利的同时,也给SeriveMock带来了新的挑战。
Antony
2021/08/06
2.4K0
在Feign接口中返回泛型类型——自定义Decoder
前几天对接了一套第三方接口,这几个第三方接口的请求地址一样,请求参数和响应结果中有很多共同的字段,所以就想把这些字段都抽出来,通过Feign定义的接口返回类型直接返回泛型。
DannyHoo
2020/06/28
8.7K0
在Feign接口中返回泛型类型——自定义Decoder
泛型与关联类型
和其他我学过的语言相比较,Rust有一些令人费解的概念。借用,所有权,借用检查这些概念大家应该已经都听说过了,我自己曾花费数小时在生命期问题上,最终不得不放弃抗争,转而采用Clone来解决。
MikeLoveRust
2020/04/07
1.3K0

相似问题

如何使方法返回泛型类型?

56

使方法返回类型为泛型

21

如何使方法的返回类型成为泛型?

76

泛型方法返回泛型类型

11

如何使方法返回泛型方法?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档