利用python3筛选excel * 定的行(行值满足某个条件/行值属于某个集合)

作者:妖白 时间:2022-10-26 01:44:22 

前言

做数据分析的时候通常我们并不是对真个excel文件进行操作,换言之,每一列都是一个特征,我们需要针对分析。遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么我们应该怎么办呢,这里就说一下。

在这之前我们先介绍一个pandas里面一个函数 loc()

英文解释是这样的:Purely label-location based indexer for selection by label.

               .loc[] is primarily label based, but may also be used with a boolean array.

最通俗的讲就是标签索引器

了解了这个函数(具体用法下面两个例子就可以懂),我们可两个例子 就可以选择我们想要的行了

利用python3筛选excel * 定的行(行值满足某个条件/行值属于某个集合)

问题一:我们想要“behavior_type”列中所有为3或4的行


import pandas as pd
import numpy as np

import csv

for df in pd.read_csv(open(r'C:\Users\yang\Desktop\useer.csv','r'),chunksize=10000):
print(df.loc[df['behavior_type']>1,:])

从这个程序我们可以得出 .loc() 前面是我们的整个索引目标,括号中为索引标签(我们回到loc英文解释第二局话,可以索引布尔型) ,那么这么简单一句话就可以把所以为3,4的行输出了.后面的冒号代表从开始到最后索引


 print(df.loc[df['behavior_type'].isin([3,4]),:])

注意 这里的isin([ ])有小括号 也有中括号集合的形式。

我们也可以利用isin代替大于号性质是一样的,该标签下所有为3,4的集合的布尔型 然后再索引


 print(df[df['behavior_type'].isin([3,4])])

提到isin 我们想到了一个更为简单的方法,直接索引即可

问题一:我们想要“user_geohash”列中所有含有字母‘qo'的行


print(df.loc[df['user_geohash'].str.contains('qo')])

是不是已经想到了 利用loc就可以了,只要后面加上字符串str.contains()函数即可。

那么到这里所有的问题迎刃而解,那么我们想要索取特定行呢 我们想要索取特定列呢

没问题 让我们继续深入了解loc函数

df是一个dataframe,列名为A B C D

具体值如下:

A    B    C     D
0    ss   小红  8
1    aa   小明  d
4    f          f
6    ak   小紫  7

dataframe里的属性是不定的,空值默认为NA。

一、选取标签为A和C的列,并且选完类型还是dataframe


df = df.loc[:, ['A', 'C']]
df = df.iloc[:, [0, 2]]

二、选取标签为C并且只取前两行,选完类型还是dataframe


df = df.loc[0:2, ['A', 'C']]
df = df.iloc[0:2, [0, 2]]

聪明的你发现loc的用法了吗?

来源:https://blog.csdn.net/qq_24753293/article/details/80196117

标签:python,excel,筛选
0
投稿

猜你喜欢

  • Python内建类型bytes深入理解

    2022-11-13 08:35:54
  • 蜕变——记QQ医生3.0

    2009-09-16 14:41:00
  • Python超详细分步解析随机漫步

    2022-03-04 07:14:08
  • python实现爬取百度图片的方法示例

    2021-11-22 00:46:04
  • 使用Post提交时须将空格转换成加号的解释

    2023-07-02 05:18:19
  • php实现的微信分享到朋友圈并记录分享次数功能

    2023-10-17 04:32:14
  • Python+Opencv实现把图片、视频互转的示例

    2022-03-24 23:07:38
  • Python爬取OPGG上英雄联盟英雄胜率及选取率信息的操作

    2023-12-01 07:06:05
  • python实现两张图片拼接为一张图片并保存

    2023-01-26 17:56:52
  • XML与HTML的结合(下)

    2008-09-05 17:20:00
  • MySQL/MariaDB/Percona数据库升级脚本

    2024-01-21 10:01:09
  • python实现名片管理器的示例代码

    2023-12-11 05:34:50
  • 段正淳的css笔记(3)标题右侧“更多”的实现

    2007-11-01 21:55:00
  • 简述python Scrapy框架

    2022-07-13 06:19:30
  • 不是原型继承那么简单!prototype的深度探索

    2008-03-07 12:42:00
  • JS简单模拟触发按钮点击功能的方法

    2024-04-22 13:02:52
  • 38个Asp内置函数介绍

    2008-11-27 16:25:00
  • python实现控制电脑鼠标和键盘,登录QQ的方法示例

    2023-11-19 12:10:26
  • JavaScript奇怪的比较——隐式类型转换

    2009-02-15 13:06:00
  • 在Python中使用MySQL--PyMySQL的基本使用方法

    2024-01-22 20:32:49
  • asp之家 网络编程 m.aspxhome.com