使用 Pandas 轻松删除多行数据库记录
在数据分析和处理的过程中,经常需要对数据库中的记录进行删除操作。在传统的 SQL 数据库中,我们通常使用 DELETE 语句来完成这项任务。而在 Python 中,我们可以使用 Pandas 库来完成删除多行记录的操作,既快速又方便。
Pandas 简介
Pandas 是一个强大的数据处理库,它提供了大量的数据结构和方法,可以方便地进行数据读取、数据清洗、数据转换和数据分析等操作。Pandas 提供了两种主要的数据结构:Series 和 DataFrame。使用 Series 可以表示一维数组,而 DataFrame 则可以表示二维的表格数据。
删除多行记录的方法
使用 Pandas 删除多行记录非常简单,只需要将需要删除的行的索引作为参数传递给 DataFrame 的 drop() 方法即可。下面是示例代码:
“`
import pandas as pd
# 读取数据库中的数据
df = pd.read_csv(“data.csv”)
# 打印数据的前五行
print(df.head())
# 删除前五行数据
df = df.drop([0,1,2,3,4])
# 打印删除后的数据
print(df.head())
“`
在这个示例中,我们首先使用 Pandas 的 read_csv() 方法从一个 CSV 文件中读取了数据。然后使用 head() 方法打印了数据的前五行,以便检查数据的正确性。
接下来,我们使用 drop() 方法删除了前五行数据。drop() 方法的参数是一个列表,包含了需要删除的行的索引。在这个示例中,我们删除了索引号为 0 到 4 的五行数据。
我们再次使用 head() 方法打印了删除后的数据,以确保删除操作执行正确。
在数据分析和处理的过程中,使用 Pandas 删除多行记录是非常方便和有效的。我们只需要提供需要删除的行的索引,然后使用 DataFrame 的 drop() 方法即可完成删除操作。Pandas 还提供了很多其他强大的数据处理方法,可以大大提高数据处理的效率。
相关问题拓展阅读:
pandas python 怎么删除表格中的某一行
直接del DF或者采用drop方法就如段能解决。
具体渣明誉操槐洞作方法:
一、直接del DF;
二、采用drop方法,有下面三种等价的表达式:
1. DF= DF.drop(‘column_name’, 1);
2. DF.drop(‘column_name’,axis=1, inplace=True);
3. DF.drop(DF.columns, axis=1,inplace=True) # Note: zero indexed。
某列中所有的数据都是1,加起来不就是总行数吗?引言本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务。有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要。作为额外的福利,我将会进行一些模糊字符串匹配,以此来展示一些小花样,以及展示pandas是如何利用完整的Python模块系统去做一些在Python中是简单,但在Excel中却很复杂的事情的。有道理吧?让我们开始吧。为某行添加求和项我要介绍的之一项任务是把某几列相加然后添加一个总和栏。首先我们将excel数据导入到pandas数据框架中。importpandasaspdimportnumpyasnpdf=pd.read_excel(“模扮excel-comp-data.xlsx”)df.head()我们想要添加一个总和栏来显示Jan、Feb和Mar三个月的销售总额。在Excel和pandas中这都是简单直接的。对于Excel,我在J列中添加了公式sum(G2:I2)。在Excel中看上去是这样的:下面,我们是这样在pandas中操作的:df=df+df+dfdf.head()接下来,让我们对各列计算一些汇总信息以及其他值。如下Excel表所示,我们要做这些工作:如你所见,我们在表示月份的列的第17行添加了SUM(G2:G16),来取得每月的总和。进行在pandas中进行列级别的分析很简单。下面是一些例子:df.sum(),df.mean(),df.min(),df.max()(,97466.,10000,162023)现在我们要把每月的总和相加得到它们的和。这里pandas和Excel有点不同。在Excel的单元格里把每个月的总和相加很简单。由于pandas需要维护整个DataFrame的完整性,所以需要一些额外的步骤。首先,建立所有列的总和栏sum_row=df>.sum()sum_rowJanFebMar717000totaldtype:int64这很符合直觉,不过如果你希望将总闷埋和值显示为表格中的单独一行,你还需要做一些微调。我们需要把数据进行变换,把这一系列数字转换为DataFrame,这样才能更加容易的把它合并进已经存在的数据中。T函数可以让我们把按行排列的数据变换为按列排列。df_sum=pd.DataFrame(data=sum_row).Tdf_sum在计算总和之前我们要做的最后一件事情是添加丢失的列。我们使用reindex来帮助我们完成。技巧是添加全部的列然旦罩灶后让pandas去添加所有缺失的数据。df_sum=df_sum.reindex(columns=df.columns)df_sum现在我们已经有了一个格式良好的DataFrame,我们可以使用append来把它加入到已有的内容中。df_final=df.append(df_sum,ignore_index=True)df_final.tail()额外的数据变换另外一个例子,让我们尝试给数据集添加状态的缩写。对于Excel,最简单的方式是添加一个新的列,对州名使用vlookup函数并填充缩写栏。我进行了这样的操作,下面是其结果的截图:你可以注意到,在进行了vlookup后,有一些数值并没有被正确的取得。这是因为我们拼错了一些州的名字。在Excel中处理这一问题是一个巨大的挑战(对于大型数据集而言)幸运的是,使用pandas我们可以利用强大的python生态系统。考虑如何解决这类麻烦的数据问题,我考虑进行一些模糊文本匹配来决定正确的值。幸运的是其他人已经做了很多这方面的工作。fuzzywuzzy库包含一些非常有用的函数来解决这类问题。首先要确保你安装了他。我们需要的另外一段代码是州名与其缩写的映射表。而不是亲自去输入它们,谷歌一下你就能找到这段代码code。首先导入合适的fuzzywuzzy函数并且定义我们的州名映射表。fromfuzzywuzzyimportfuzzfromfuzzywuzzyimportprocessstate_to_code={“VERMONT”:”VT”,”GEORGIA”:”GA”,”IOWA”:”IA”,”ArmedForcesPacific”:”AP”,”GUAM”:”GU”,”KANSAS”:”KS”,”FLORIDA”:”FL”,”AMERICANSAMOA”:”AS”,”NORTHCAROLINA”:”NC”,”HAWAII”:”HI”,”NEWYORK”:”NY”,”CALIFORNIA”:”CA”,”ALABAMA”:”AL”,”IDAHO”:”ID”,”FEDERATEDSTATESOFMICRONESIA”:”FM”,”ArmedForcesAmericas”:”AA”,”DELAWARE”:”DE”,”ALASKA”:”AK”,”ILLINOIS”:”IL”,”ArmedForcesAfrica”:”AE”,”SOUTHDAKOTA”:”SD”,”CONNECTICUT”:”CT”,”MONTANA”:”MT”,”MASSACHUSETTS”:”MA”,”PUERTORICO”:”PR”,”ArmedForcesCanada”:”AE”,”NEWHAMPSHIRE”:”NH”,”MARYLAND”:”MD”,”NEWMEXICO”:”NM”,”MISSISSIPPI”:”MS”,”TENNESSEE”:”TN”,”PALAU”:”PW”,”COLORADO”:”CO”,”ArmedForcesMiddleEast”:”AE”,”NEWJERSEY”:”NJ”,”UTAH”:”UT”,”MICHIGAN”:”MI”,”WESTVIRGINIA”:”WV”,”WASHINGTON”:”WA”,”MINNESOTA”:”MN”,”OREGON”:”OR”,”VIRGINIA”:”VA”,”VIRGINISLANDS”:”VI”,”MARSHALLISLANDS”:”MH”,”WYOMING”:”WY”,”OHIO”:”OH”,”SOUTHCAROLINA”:”SC”,”INDIANA”:”IN”,”NEVADA”:”NV”,”LOUISIANA”:”LA”,”NORTHERNMARIANAISLANDS”:”MP”,”NEBRASKA”:”NE”,”ARIZONA”:”AZ”,”WISCONSIN”:”WI”,”NORTHDAKOTA”:”ND”,”ArmedForcesEurope”:”AE”,”PENNSYLVANIA”:”PA”,”OKLAHOMA”:”OK”,”KENTUCKY”:”KY”,”RHODEISLAND”:”RI”,”DISTRICTOFCOLUMBIA”:”DC”,”ARKANSAS”:”AR”,”MISSOURI”:”MO”,”TEXAS”:”TX”,”MAINE”:”ME”}这里有些介绍模糊文本匹配函数如何工作的例子。process.extractOne(“Minnesotta”,choices=state_to_code.keys())(‘MINNESOTA’,95)process.extractOne(“AlaBAMMazzz”,choices=state_to_code.keys(),score_cutoff=80)现在我知道它是如何工作的了,我们创建自己的函数来接受州名这一列的数据然后把他转换为一个有效的缩写。这里我们使用score_cutoff的值为80。你可以做一些调整,看看哪个值对你的数据来说比较好。你会注意到,返回值要么是一个有效的缩写,要么是一个np.nan所以域中会有一些有效的值。defconvert_state(row):abbrev=process.extractOne(row,choices=state_to_code.keys(),score_cutoff=80)ifabbrev:returnstate_to_code>returnnp.nan把这列添加到我们想要填充的单元格,然后用NaN填充它df_final.insert(6,”abbrev”,np.nan)df_final.head()我们使用apply来把缩写添加到合适的列中。df_final=df_final.apply(convert_state,axis=1)df_final.tail()我觉的这很酷。我们已经开发出了一个非常简单的流程来智能的清理数据。显然,当你只有15行左右数据的时候这没什么了不起的。但是如果是15000行呢?在Excel中你就必须进行一些人工清理了。分类汇总在本文的最后一节中,让我们按州来做一些分类汇总(subtotal)。在Excel中,我们会用subtotal工具来完成。输出如下:在pandas中创建分类汇总,是使用groupby来完成的。df_sub=df_final>.groupby(‘abbrev’).sum()df_sub然后,我们想要通过对dataframe中所有的值使用applymap来把数据单位格式化为货币。defmoney(x):return”${:,.0f}”.format(x)formatted_df=df_sub.applymap(money)formatted_df格式化看上去进行的很顺利,现在我们可以像之前那样获取总和了。sum_row=df_sub>.sum()sum_rowJanFebMar717000totaldtype:int64把值变换为列然后进行格式化。df_sub_sum=pd.DataFrame(data=sum_row).Tdf_sub_sum=df_sub_sum.applymap(money)df_sub_sum最后,把总和添加到DataFrame中。final_table=formatted_df.append(df_sub_sum)final_table你可以注意到总和行的索引号是‘0’。我们想要使用rename来重命名它。final_table=final_table.rename(index={0:”Total”})final_table结论到目前为止,大部分人都已经知道使用pandas可以对数据做很多复杂的操作——就如同Excel一样。因为我一直在学习pandas,但我发现我还是会尝试记忆我是如何在Excel中完成这些操作的而不是在pandas中。我意识到把它俩作对比似乎不是很公平——它们是完全不同的工具。但是,我希望能接触到哪些了解Excel并且想要学习一些可以满足分析他们数据需求的其他替代工具的那些人。我希望这些例子可以帮助到其他人,让他们有信心认为他们可以使用pandas来替换他们零碎复杂的Excel,进行数据操作。
data.drop(n)可以删除指含第i行
import pandas as pd
data=pd.DataFrame(,>)
print data.drop(0)
输出结伏逗亏果为
缺神2
data.drop(n)可以删州盯除第孝迹漏i行import pandas as pddata=pd.DataFrame(,>)print data.drop(0)输出结巧烂果为
pandas中如何删除一个表格中的子表格
鼠标左键拖拉选中要删除的区域,按“delete”键。
pandas删除多行数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于pandas删除多行数据库,使用pandas轻松删除多行数据库记录,pandas python 怎么删除表格中的某一行,pandas中如何删除一个表格中的子表格的信息别忘了在本站进行查找喔。
来源地址:使用pandas轻松删除多行数据库记录 (pandas删除多行数据库)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^