首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

超全的pandas数据分析常用函数总结:上篇

2.2 数据写入和读取 data.to_csv("shopping.csv",index=False) # index=False表示不加索引,否则会多一行索引 data=pd.read_csv...= False) value:用于填充的值,可以是具体值、字典和数组,不能是列表; method:填充方法,有 ffill 和 bfill 等; inplace默认无False,如果为True,则将修改此对象上的所有其他视图...,即保留第一次出现的重复值 输出结果: ?...data['origin'].drop_duplicates(keep='last') # 删除前面出现的重复值,即保留最后一次出现的重复值 输出结果: ?...完整思维导图电子版(PDF) 待明日晚九点推文,和(下篇)一起整理给大家哈 参考资料: pandas官网 pandas用法总结 Pandas 文本数据方法

3.6K31

Pandas_Study02

首先,可以通过isnull 和 notnull 方法查看有哪些NaN值,这两个方法返回的布尔值,指示该值是否是NaN值,结合sum 方法可以获取每列空值的数目以及总数。...dropna() 删除NaN 值 可以通过 dropna 方法,默认按行扫描(操作),会将每一行有NaN 值的那一行删除,同时默认是对原对象的副本操作,不会对原对象产生影响,也可以通过inplace 指示是否直接在原对象上操作...复杂的 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一行的数据来填充NaN值,向后同理 # 在df 的e 这一列上操作,默认下按行操作,向前填充数据...first", inplace=True) drop_duplicated() 删除重复值,可以指定inplace 是否在原对象上直接操作,keep= last first false 等 默认first保留第一次出现的重复数据...,last同时保留最后一次出现的重复数据,false 不保留 使用如上。

20510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据导入与预处理-课程总结-04~06章

    该参数还支持 'pad’或’ffill’和’backfill’或’bfill’几种取值,其中’pad’或’ffill’表示将最后一个有效值向后传播,也就是说使用缺失值前面的有效值填充缺失值;'backfill...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...,仅保留最后一次出现的数据项;'False’表示所有相同的数据都被标记为重复项。...False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项,仅保留最后一次出现的数据项;'False’表示删除所有的重复项。...但有时我们只需要根据某列查找重复值 df[df.duplicated(['gender'])] # 删除全部的重复值 df.drop_duplicates() # 删除重复值|指定 # 删除全部的重复值,但保留最后一次出现的值

    13.1K10

    数据导入与预处理-第5章-数据清理

    若直接使用有缺失值的数据进行分析,会降低分析结果的准确性,为此需通过合适的方式予以处理。缺失值主要有三种处理方式:删除、填充和插补。...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...,仅保留最后一次出现的数据项;'False’表示所有相同的数据都被标记为重复项。...False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项,仅保留最后一次出现的数据项;'False’表示删除所有的重复项。...: # 删除重复值|指定 # 删除全部的重复值,但保留最后一次出现的值 df.drop_duplicates(keep = 'last') 输出为: 2.3 异常值处理 2.3.1 异常值的检测

    4.5K20

    一个真实问题,搞定三个冷门pandas函数

    pd.date_range 其实在pandas中生成时间序列数据比其他方法要方便很多,使用.date_range一行代码即可,该函数使用方法为 pandas.date_range(start=None,...也可以通过开始日期与长度生成 上面的默认间隔是1天,当然是可以自定义,比如修改为5天 该方法还支持生成更多的指定形式的时间序列数据,感兴趣的读者可以自行查阅官方文档,现在我们就可以生成示例数据?...pandas.Series.ne ne函数可以比较两个Series,常用于缺失值填充,下面是一个例子 除了可以比较两个Series之外,对于我们的问题,它可以比较元素:返回True如果这个值不是你指定的值...可以使用idxmax/idxmin,这个函数不难,直接看一个简单的例子 它可以返回最大值/最小值第一次出现的位置索引!...刚好可以满足我们的要求,现在就可以将idxmax与之前的ne函数结合起来实现我们需求 df['value'].ne('').idxmax() # 5 返回的索引值是5,最后就可以使用loc函数一行代码实现我们的需求

    67910

    一个真实问题,搞定三个冷门pandas函数

    pd.date_range 其实在pandas中生成时间序列数据比其他方法要方便很多,使用.date_range一行代码即可,该函数使用方法为 pandas.date_range(start=None,...也可以通过开始日期与长度生成 上面的默认间隔是1天,当然是可以自定义,比如修改为5天 该方法还支持生成更多的指定形式的时间序列数据,感兴趣的读者可以自行查阅官方文档,现在我们就可以生成示例数据?...pandas.Series.ne ne函数可以比较两个Series,常用于缺失值填充,下面是一个例子 除了可以比较两个Series之外,对于我们的问题,它可以比较元素:返回True如果这个值不是你指定的值...可以使用idxmax/idxmin,这个函数不难,直接看一个简单的例子 它可以返回最大值/最小值第一次出现的位置索引!...刚好可以满足我们的要求,现在就可以将idxmax与之前的ne函数结合起来实现我们需求 df['value'].ne('').idxmax() # 5 返回的索引值是5,最后就可以使用loc函数一行代码实现我们的需求

    76720

    pandas每天一题-题目18:分组填充缺失值

    一个订单会包含很多明细项,表中每个样本(每一行)表示一个明细项 order_id 列存在重复 item_name 是明细项物品名称 quantity 是明细项数量 item_price 是该明细项的总价钱...需求: 找到 choice_description 的缺失值,并使用同样的 item_name 的值进行填充 同上,如果 同组item_name 中出现多个不同的 choice_description...,使用出现频率最高的进行填充 同上,如果存在多个 choice_description 的出现频率一致,随机选取填充 下面是答案了 ---- 构建数据 原题数据的缺失值情况比较简单,为此我改造一下数据。...sort_values 有参数 na_position 控制 nan 的位置,默认情况下是 'last',放置在最后 ---- 按频率填充 看看 lzze 这个品类的细分描述有多少: dfx = modify....to_frame() ) 注意我们这次把行索引1的记录修改为nan 这里可以发现,其实大部分的表(DataFrame)或列(Series)的操作都能用于分组操作 现在希望使用组内出现频率最高的值来填充组内的缺失值

    3K41

    一个真实问题,搞定三个冷门pandas函数

    pd.date_range 其实在pandas中生成时间序列数据比其他方法要方便很多,使用.date_range一行代码即可,该函数使用方法为 pandas.date_range(start=None,...也可以通过开始日期与长度生成 上面的默认间隔是1天,当然是可以自定义,比如修改为5天 该方法还支持生成更多的指定形式的时间序列数据,感兴趣的读者可以自行查阅官方文档,现在我们就可以生成示例数据?...pandas.Series.ne ne函数可以比较两个Series,常用于缺失值填充,下面是一个例子 除了可以比较两个Series之外,对于我们的问题,它可以比较元素:返回True如果这个值不是你指定的值...可以使用idxmax/idxmin,这个函数不难,直接看一个简单的例子 它可以返回最大值/最小值第一次出现的位置索引!...刚好可以满足我们的要求,现在就可以将idxmax与之前的ne函数结合起来实现我们需求 df['value'].ne('').idxmax() # 5 返回的索引值是5,最后就可以使用loc函数一行代码实现我们的需求

    1.1K10

    7步搞定数据清洗-Python数据清洗指南

    也可以用这两条来看: #1.1查看每一列的数据类型 DataDF.dtypes #1.2有多少行,多少列 DataDF.shape # 2.检查缺失数据 # 如果你要检查每列缺失数据的数量,使用下列代码是最快的方法...可以看到: 1)Country和UnitPrice都出现了NaN值,需要去掉 2)InvoiceDate的时间出现具体时分,可以删去 3)Description大概率是人工填写的数据,一般都会有比较多格式问题...6)消灭空值:CustomerID、Description、Country和UnitPrice都出现了NaN值,需要去掉 于是下面就开始后续的数据清洗6步 二、调整数据类型 ?...(或一列)里任何一个数据有任何出现Nan就去掉整行, ‘all’一行(或列)每一个数据都是Nan才去掉这整行 DataDF.dropna(how='any') DataDF.dropna(how=...如果想了解更多 fillna() 的详细信息参考 pandas.DataFrame.fillna pandas.pydata.org 2) 以同一指标的计算结果(均值、中位数、众数等)填充缺失值 平均值

    4.5K20

    Python数据分析——以我硕士毕业论文为例

    异常值处理 缺失值的填充 Pandas中缺失值的填充所用方法时pd.fillna(),具体的参数可以填写: In [16]: pd.DataFrame.fillna Out[16]: <function...how的属性值来设置: any:当每一行有一个缺失值时就删除这一行; all:当一行所有的数据都时缺失值时再删除这一行。...keep的属性值来设置: first:所有重复行删除,保留第一行; last:所有重复行删除,保留最后一行。...得到的txt文件 所以说,我们要先读取.txt文件,循环读取每一行,直到读取到Data Points这一行,说明已经到数据表了。...数据格式 首先来讲解下数据格式,每一列代表一个样本,每一行代表对应粒径所占百分比。例如图中红方框所示就是代表D-N4样本点对应粒径为0.955 μm颗粒占比为0.03%。

    3.4K20

    【数据处理包Pandas】数据载入与预处理

    read_csv默认为 “,”,read_table默认为制表符 “\t”,如果分隔符指定错误,在读取数据的时候,每一行数据将连成一片 header 接收int或sequence,表示将某行数据作为列名...,结构化数据可以通过 Pandas 中的to_csv函数实现以 CSV 文件格式存储文件。...duplicates方法返回一个布尔值的 series ,反映每一行是否与之前的行重复。...默认为 ‘first’,表示将第一个出现的重复值标记为 True,后续出现的标记为 False;‘last’ 表示将最后一个出现的标记为 True,前面出现的标记为 False;False 表示标记所有重复值为...可选值为 ‘first’、‘last’ 和 False。默认为 ‘first’,表示保留第一个出现的重复值;‘last’ 表示保留最后一个出现的重复值;False 表示删除所有重复值。

    11810

    在 Python 中,通过列表字典创建 DataFrame 时,若字典的 key 的顺序不一样以及部分字典缺失某些键,pandas 将如何处理?

    当通过列表字典来创建 DataFrame 时,每个字典通常代表一行数据,字典的键(key)对应列名,而值(value)对应该行该列下的数据。如果每个字典中键的顺序不同,pandas 将如何处理呢?...列顺序:在创建 DataFrame 时,pandas 会检查所有字典中出现的键,并根据这些键首次出现的顺序来确定列的顺序。...这是因为减少了内部必须进行以匹配、排序和填充缺失值等操作。...下面是对每一行代码的解释: import pandas as pd:这行代码导入了 pandas 库,并将其重命名为 pd。...总而言之,pandas 在处理通过列表字典创建 DataFrame 时各个字典键顺序不同以及部分字典缺失某些键时显示出了极高的灵活性和容错能力。

    13500

    pandas处理字符串方法汇总

    查看x的类型: type(x) # str类型 str # 2、字符串拼接 y = x + " hello pandas!" # 拼接x和hello pandas!...字符串类型 Pandas中存在两种字符串类型:ObjectDtype类型和StringDtype类型。...Mckinney 2008 查找指定元素第一次出现的位置(索引号,左边第一个);如果字符串中不包含该字符,则返回-1: df["Language"].str.find("a") 0 -1.0 1...)或者指定字符 str.lower:所有字符串的字母转成小写 str.uppper:所有字符串的字母转成大写 str.find:查找字符串中指定的子字符串第一次出现的位置 str.rfind:查找字符串中指定的子字符串最后一次出现的位置...str.index:查找指定字符在字符串中第一次出现的位置(索引号) str.rindex:查找指定字符在字符串中最后一次出现的位置(索引号) str.capitalize:将字符串中的单词的第一个字母变成大写

    46120

    pandas每天一题-题目12:复杂筛选

    上期文章:pandas每天一题-题目11:筛选数据也有3种方式,最后一种揭示本质 后台回复"数据",可以下载本题数据集 如下数据: 数据描述: 此数据是订单明细表。...一个订单会包含很多明细项,表中每个样本(每一行)表示一个明细项 order_id 列存在重复 item_name 是明细项物品名称 quantity 是明细项数量 item_price 是该明细项的总价钱...choice_description 是每一项更详尽的描述 例如:某个单子中,客人要 1瓶可乐 和 1瓶雪碧 ,那么这个订单的 order_id 为:'xx',有2个行记录(样本),2行的item_name...初学者容易写出以下错误代码: df.query('item_name == "Canned Soda"') 你能确保一个订单中只出现一次 "Canned Soda" ?...Soda" 逻辑很简单,第一次点餐的饮料喝完了,还想再喝,"再来一瓶"呗 理解这一点,就很容易解决,去重就可以了: ( df.query('item_name == "Canned Soda"

    32110

    Python数据分析笔记——Numpy、Pandas库

    Python数据分析——Numpy、Pandas库 总第48篇 ▼ 利用Python进行数据分析中有两个重要的库是Numpy和Pandas,本章将围绕这两个库进行展开介绍。...(2)DataFrame与Series之间的运算 将DataFrame的每一行与Series分别进行运算。...(2)填充缺失数据 通过调用函数fillna,并给予这个函数一个值,则该数组中所有的缺失值都将被这个值填充。df.fillna(0)——缺失值都将被0填充。...这些运算默认都是针对于行的运算,通过使用axis=1进行列的运算。 Describe既不是约简型也不是累计型,他是用于一次性产生多个汇总统计指标的运算。...8、值计数 用于计算一个Series中各值出现的次数。 9、层次化索引 层次化索引是pandas的一个重要功能,它的作用是使你在一个轴上拥有两个或多个索引级别。

    6.4K80

    Python玩数据入门必备系列(7):最会匹配的集合——字典

    注意这里的代码实际被执行了3次,因为有3行记录 - 行8:变量 r 表示每一行数据(是一个元组),通过 r[0] 访问元组第一个值(名字),做判断 - "嗯,这符合 Python 的宣传口号,简单,直接...问题在于找一次的过程太慢了!如果要找多次,这会等到啥时候! 难道这助手就不能长点脑子,**给我把名字记忆下来**吗?下次再去找的时候就不需要再一行行去翻了。...由此你可以推断,此语法同样可以用在列表和元组中 但是,如果需要根据多列的信息定位一行数据,似乎字典做不到?...因此只需要往这个列表中追加记录即可(列表的 append 方法) - 行17:当某个班级的记录第一次出现时,就会执行到这里,只需要把一个包含这行记录的 r 的列表,放入字典的 value 即可 那么此时查找某个班级的记录...由于字典中每一行数据都存在 key 与 value,因此使用 {key:value} 表示,用冒号把 key 与 value 分隔开来 - 字典中的行之间用逗号分隔。

    91920

    太赞了,这4款Pandas自动数据分析神器

    我们做数据分析,在第一次拿到数据集的时候,一般会用统计学或可视化方法来了解原始数据。...如果你现在做EDA还在用pandas一行行写代码,那么福音来了! 目前已经有很多EDA工具可以自动产出基础的统计数据和图表,能为我们节省大量时间。...=True) profile Pandas Profiling操作界面 每列的详情包括:缺失值统计、去重计数、最值、平均值等统计指标和取值分布的柱状图。...Sweetviz数据集对比 蓝色和橙色代表不同的数据集,通过对比可以清晰发现数据集之前的差异。...4.1 数据操作(Actions) dtale将pandas的函数包装成可视化接口,可以让我们通过图形界面方式来操作数据。

    48520

    4 款 Pandas 自动数据分析神器,yyds!

    我们做数据分析,在第一次拿到数据集的时候,一般会用统计学或可视化方法来了解原始数据。...如果你现在做EDA还在用pandas一行行写代码,那么福音来了! 目前已经有很多EDA工具可以自动产出基础的统计数据和图表,能为我们节省大量时间。...=True) profile Pandas Profiling操作界面 每列的详情包括:缺失值统计、去重计数、最值、平均值等统计指标和取值分布的柱状图。...Sweetviz数据集对比 蓝色和橙色代表不同的数据集,通过对比可以清晰发现数据集之前的差异。...4.1 数据操作(Actions) dtale将pandas的函数包装成可视化接口,可以让我们通过图形界面方式来操作数据。

    1.1K10

    电商用户复购实战:图解 pandas 的移动函数 shift

    上面的shift函数中使用的就是这些别名,具体如下表所示: B 工作日频率 C 自定义工作日频率 D 日历日频率 W 每周频率 M 每月最后一个日历日 SM 每半个月最后一个日历日(15日和月末) BM...每月最后一个工作日 CBM 自定义每月最后一个工作日 MS 每月第一个日历日 SMS 每半月第一个日历日(第1和第15) BMS 每月第一个工作日 CBMS 自定义每月第一个工作日 Q 每季度最后一个月的最后一个日历日...每位用户的平均复购周期:每两个复购时间之间的天数之和 / 用户总复购次数 全部用户的平均复购周期:全部用户的平均复购周期之和 / 总复购用户数 通过一个例子来解释用户的平均复购周期,假设某位用户购买情况如下...那么张三的平均复购周期:(6+3+8+10)/ 4 = 6.75 2、模拟数据 模拟了一份电商数据,多位用户购买了一次或者多次: 下面通过Pandas来求解每位用户的平均复购周期和全部的平均复购周期...每个用户的第一次购买时间是不存在上次购买时间,所以显示为NaT 8、将NaT数据删除 使用dropna函数来删除缺失值的数据 df6 = df5.dropna().reset_index(drop=True

    1.9K20
    领券