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

技术解析:如何获取全球疫情历史数据并处理

现在紧接着又出现一个问题就是时间变量是以13位时间戳形式存储的,所以要先将时间进行转换 ?...keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。...inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本 于是我们我们需要根据时间进行去重,也就是每天每个国家只保留一条数据,首先把所有时间取出来 ?...然后根据时间进行去重,也就是每天只保留一条最新数据 ? 这样就完成了去重,我们将数据保存为Excel看看。...现在我们就需要各个大洲每天的疫情数据,这时就用到了pandas里面的分组计算函数.groupby() # groupby 只进行分组,不会进行任何的计算操作 grouped = df["data1"].

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

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

    na_df.isnull().sum() # 看看缺失值所在的行 na_df[na_df.isnull().T.any()] # 删除缺失值 -- 将缺失值出现的行全部删掉 na_df.dropna...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...,仅保留最后一次出现的数据项;'False’表示所有相同的数据都被标记为重复项。...,该参数可以取值为’first’(默认值)、 'last ‘和’False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项,仅保留最后一次出现的数据项;'False...,但保留最后一次出现的值 df.drop_duplicates(keep = 'last') 2.4 异常值处理 2.4.1 异常值的检测 异常值的检测可以采用 3σ原则 和 箱形图检测。

    13.1K10

    Pandas0.25来了,别错过这10大好用的新功能

    从 0.25 起,pandas 只支持 Python 3.53 及以上版本了,不再支持 Python 2.7,还在使用 Python 2 的朋友可要注意了,享受不了新功能了,不过,貌似用 Python...下一版 pandas 将只支持 Python 3.6 及以上版本了,这是因为 f-strings 的缘故吗?嘿嘿。 ? 彻底去掉了 Panel,N 维数据结构以后要用 xarray 了。...精简显示 Series 与 DataFrame 超过 60 行的 Series 与 DataFrame,pandas 会默认最多只显示 60 行(见 display.max_rows 选项)。...对 DataFrame Groupby 后,Groupby.apply 对每组只处理一次 df = pd.DataFrame({"a": ["x", "y"], "b": [1, 2]}) dfdef...的缺失值排序,groupby保留类别数据的数据类型等,如需了解,详见官方文档 What's new in 0.25.0。

    2.2K30

    Pandas_Study02

    值的行或列被保留 通过布尔判断,也是可以实现删除 NaN 的功能。...复杂的 使用向前 或 向后 填充数据,依旧使用fillna 方法,所谓向前 是指 取出现NaN值的前一列或前一行的数据来填充NaN值,向后同理 # 在df 的e 这一列上操作,默认下按行操作,向前填充数据...NaN值 的值来填充接下去的NaN值 df["e"].fillna(method = 'bfill',inplace=True) # 对 gake 行操作,axis=0按行操作,取该行中最先出现的一个不为...first", inplace=True) drop_duplicated() 删除重复值,可以指定inplace 是否在原对象上直接操作,keep= last first false 等 默认first保留第一次出现的重复数据...,last同时保留最后一次出现的重复数据,false 不保留 使用如上。

    20510

    数据分析利器 pandas 系列教程(四):对比 sql 学 pandas

    这样选择出来的 dataframe,其 index 是不连续的,因为 pandas 的选择,连同原来的 index 一起选择了,符合条件的行,在原来的 dataframe 中,index 几乎不可能连续...出现一列 "unnamed: 0"。...groupby groupby 即分组聚合,df.group_by() 即可实现,它返回的是一个 GroupBy 对象而不是 dataframe 需要对这个 GroupBy 对象进行后续的聚合函数调用才会返回...'name': ['Bob', 'Alice', 'Miller'], 'number': [1001, 1002, 1003] }) 连接 解释 内连接 在 name 列上取交集,只保留左右两表都出现的...name,即只有 Bob、Alice 两人的共六门成绩 左外连接 保留左表中 name 中出现的而右表没有出现的,同时对应右表的 number 字段置空 右外连接 参见左外连接 全外连接 都置空 pandas

    1K10

    pandas每天一题-题目4:原来查找top n记录也有这种方式

    这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。...上面的结果只能是"找出数据中,数量最多的行" 因此,我们应该这样做: ( df.groupby(['item_name']) .agg({'quantity': sum,}) ....首先,由于数据到了50才出现重复: 于是,我们把结果从50开始截取,当作是汇总后的结果: res = ( df.groupby(['item_name']) .agg({'quantity....sort_values( 'quantity', ascending=False) .query('quantity<=50') ) res 其实道理很简单,求出最大值,把数量为最大值的行保留即可...因为是倒序排序,这个值就是最大值 行9:把等于最大值的行保留即可 这种方式比较繁琐,如果只是求n大记录,建议使用 nlargest 推荐阅读: python 方法太多了,怎么记住?

    1.6K10

    如何用 Python 和 Pandas 分析犯罪记录开放数据?

    这里我们使用的是 Pandas 中的 value_counts 函数。它可以帮助我们自动统计某一列中不同类别出现的次数,而且还自动进行排序。为了显示的方便,我们只要求展示前10项内容。...P.*)" subst = "\\g" 这里,我们用括号把需要保留的内容,赋值为 street 分组。然后替换的时候,只保留这个分组的信息。...这里,请你安装一个特别好用的时间分析软件包 python-dateutil 。我第一次使用的时候,立即决定弃用 datetime 包了。 !...robbery.shape (643, 10) 数量没错,恰好少了 17 行。 好了,我们来绘制一下抢劫犯罪数量变化趋势折线图。 Pandas 的 plot 函数,默认状态下,就是绘制折线图。...因为许多时间段,本来就没有抢劫案件发生,所以这个表中,出现了许多空值(NaN)。我们根据具体情况,采用0来填充。Pandas 中数据填充的函数是 fillna。

    1.9K20

    pandas:解决groupby().apply()方法打印两次

    可以发现,groupby()后的第一个结果被打印了两次。 对于这种情况,Pandas官方文档的解释是: ? 什么意思呢?就是说,apply在第一列/行上调用func两次,以决定是否可以进行某些优化。...而在pandas==0.18.1以及最新的pandas==0.23.4中进行尝试后发现,这个情况都存在。...在某些情境,例如对groupby()后的dataframe进行apply()批处理,为了避免重复,我们并不想让第一个结果打印出两次。...方法一: 如果能对apply()后第一次出现的dataframe跳过不处理就好了。 这里采用的方法是设置标识符,通过判断标识符状态决定是否跳过。...这里可以采用filter()方法,即用groupby().filter() 代替groupby().apply()。

    1K10

    Pandas图鉴(二):Series 和 Index

    对于非数字标签来说,这有点显而易见:为什么(以及如何)Pandas在删除一行后,会重新标记所有后续的行?对于数字标签,答案就有点复杂了。...首先,Pandas 纯粹通过位置来引用行,所以如果想在删除第3行之后再去找第5行,可以不用重新索引(这就是iloc的作用)。...你逐一进行了几次查询,每次都缩小了搜索范围,但只看了列的一个子集,因为同时看到所有的一百个字段是不现实的。现在你已经找到了目标行,想看到原始表中关于它们的所有信息。一个数字索引可以帮助你立即得到它。...重复数据 特别注意检测和处理重复的数据,可以在图片中看到: is_unique,nunique, value_counts drop_duplicates 和 duplicated 可以保留最后出现的...而且它总是返回一个没有重复的索引。 与defaultdict和关系型数据库的GROUP BY子句不同,Pandas groupby是按组名排序的。

    33720

    Python数据分析作业二:Pandas库的使用

    其中,Series 和 DataFrame 是 Pandas 中最常用的两个对象,分别对应于一维和二维数据的处理(Pandas 还有对三维甚至多维数据处理的 Panel 对象,但不太常用)。...,存入一个名为df的DataFrame对象中并显示前5行数据 import pandas as pd df = pd.read_excel('超市营业额2.xlsx') df.head() 2、查看交易额数据的总体统计情况...161393.0 7、使用df中的数据分组统计每个人的交易额平均值(保留2位小数),将统计结果放入dff变量中并显示该结果 dff = df.groupby('姓名')['交易额'].mean().round...然后,使用.round(2)方法将平均值保留两位小数。最后,将结果存储在新的 Series 对象dff中。dff是一个包含每个姓名对应的平均交易额的 Series,其中索引是姓名,值是平均交易额。...然后,使用.sum()方法两次对这个布尔值的 DataFrame 进行求和,第一次对每列求和,第二次对每行的结果再求和。

    10200

    Pandas图鉴(三):DataFrames

    文档中的 "保留键序" 声明只适用于left_index=True和/或right_index=True(其实就是join的别名),并且只在要合并的列中没有重复值的情况下适用。...注意:要小心,如果第二个表有重复的索引值,你会在结果中出现重复的索引值,即使左表的索引是唯一的 有时,连接的DataFrame有相同名称的列。...合并丢弃左边DataFrame的索引,连接保留它; 默认情况下,merge执行的是内连接,join执行的是左外连接; 合并不保留行的顺序,连接保留它们(有一些限制); join是merge的一个别名,...它将索引和列合并到MultiIndex中: eset_index 如果你想只stack某些列,你可以使用melt: 请注意,熔体以不同的方式排列结果的行。...方法)pivot_table: 没有列参数,它的行为类似于groupby; 当没有重复的行来分组时,它的工作方式就像透视一样; 否则,它就进行分组和透视。

    44420

    Pandas进阶|数据透视表与逆透视

    数据基本情况 groupby数据透视表 使用 pandas.DataFrame.groupby 函数,其原理如下图所示。...要理解这个长长的语句可不是那么容易的事。 由于二维的 GroupBy 应用场景非常普遍,因此 Pandas 提供了一个快捷方式 pivot_table 来快速解决多维的累计分析任务。...默认聚合所有数值列 index 用于分组的列名或其他分组键,出现在结果透视表的行 columns 用于分组的列名或其他分组键,出现在结果透视表的列 aggfunc 聚合函数或函数列表,默认为'mean'...如果指定了聚合函数则按聚合函数来统计,但是要指定values的值,指明需要聚合的数据。 pandas.crosstab 参数 index:指定了要分组的列,最终作为行。...保留"driver_gender",对剩下列全部转换,并给设置对列定义列名。

    4.3K11

    Pandas三百题

    2 - pandas 个性化显示设置 1.显示全部列 pd.set_option('display.max_columns',None) 2.显示指定行/列 指定让 data 在预览时显示10列,7行...True] 11-高亮缺失值 df[df.isnull().T.any()==True].style.highlight_null(null_color='skyblue') 12-删除缺失值 缺失值出现的行全部删掉...片名 列全部重复值 df[df['片名'].duplicated()] 20-删除重复值 删除全部的重复值 df.drop_duplicates() 21-删除重复值|指定 删除全部的重复值,但保留最后一次出现的值..."]) 6 - 分组统计|计数 计算上一题,每个区出现的公司数量 df.groupby('district')['companySize'].count() 7 - 分组查看|全部 将数据按照 district...,只取结果的交集 pd.concat([df1,df4],axis=1,join='inner') 16 - concat|横向拼接(取指定) 在 14 题基础上,只取包含 df1 索引的部分 pd.concat

    4.8K22

    盘点一个工作中Python自动化处理实战问题(中篇)

    问题描述: 数据在提供的数据表中,在表有编号、环节、审核人、金额、结束时间5列,对【编号、环节、审核人、金额】四条件进行分组,分组内结束时间升序排列,分组内结束时间相差20秒以内的,只保留第一条记录。...大佬再请问下 分组内结束时间相差20秒以内的,只保留第一条记录 这个怎么实现? 这个做出来的老是有问题 有个窗口函数 用了数据又对不太上。...二、实现过程 这里【小小明】给了一份代码,如下所示: import pandas as pd def func(df_split): last_time = None idx = []...( ["编号", "环节", "审核人", "金额"], as_index=False).apply(func) 代码运行后,结果和【瑜亮老师】的答案一致,也是还剩余3394行: 后来【小小明...针对上一篇文章中【瑜亮老师】的答案,【小小明】大佬继续找他的代码基础上进行了优化,优化后的代码如下所示: 简化后如下: import pandas as pd def filter_rows(group

    14410

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

    这是一个关于 pandas 从基础到进阶的练习题系列,来源于 github 上的 guipsamora/pandas_exercises 。...需求: 找到 choice_description 的缺失值,并使用同样的 item_name 的值进行填充 同上,如果 同组item_name 中出现多个不同的 choice_description...,使用出现频率最高的进行填充 同上,如果存在多个 choice_description 的出现频率一致,随机选取填充 下面是答案了 ---- 构建数据 原题数据的缺失值情况比较简单,为此我改造一下数据。...() ) 注意我们这次把行索引1的记录修改为nan 这里可以发现,其实大部分的表(DataFrame)或列(Series)的操作都能用于分组操作 现在希望使用组内出现频率最高的值来填充组内的缺失值:...('item_name')['choice_description'] .apply(each_gp) ) dfx 行9:pandas 正在灵活之处在于在分组时能够用自定义函数指定每个组的处理逻辑

    3K41

    8 个例子帮你快速掌握 Pandas 索引操作

    如果您使用Python作为数据处理的语言,那么pandas很可能是你代码中使用最多的库之一。pandas的关键数据结构是DataFrame,这是一个类似电子表格的数据表,由行和列组成。...将索引从groupby操作转换为列 分组是最常用的方法,让我们通过添加分组列来继续使用在上一步中创建的df0 。...有两种方法可以完成所需的操作,如下所示。就我个人而言,我更喜欢第二种方法,它只涉及两个步骤。...,经常会出现重复记录的情况。...总结 在本文中,我们回顾了在pandas中最常见的索引操作。熟悉它们对你处理pandas的数据非常有帮助。当然,我没有讨论MultiIndex,这可以在以后的文章中讨论。 作者:Yong Cui

    95330
    领券