添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
删除重复值 drop_duplicates()
df=pd.DataFrame({'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']})
语法:drop_duplicates(subset,keep,inplace),其中参数 keep:{‘first’,‘last’,False},默认’first’
first:保留第一次出现的重复项,删除第二次及之后出现的重复项。
last:保留最后一次出现的重复项,删除之前出现的重复项。
"false":删除所有重复项。
查看有nan的行,和不含有nan的行
#1 查看含有nan的行 df[df.isna().any(axis=1)]
#2 查看不含有nan的行 df[~df.isna().any(axis=1)]   #有一个符号 ~ 一定要注意这一点
示例:提取pandas dataframe中’商品名称‘列包含’手机’字符的所有数据:
#提取含有指定字符的行
df2=df[df['商品名称'].str.contains(pat='手机',regex=False)]  #regex=True则pat是一个正则表达式,regex=False表示pat是一个字符串
删除pandas dataframe中’商品名称’列包含’手机’字符的所有数据:
#删除含有指定字符的行
df2=df.drop(df[df['商品名称'].str.contains(pat='手机',regex=False)].index,inplace=True)  #regex=True则pat是一个正则表达式,regex=False表示pat是一个字符串
去掉某些具体值
数据集df中,对于属性appPlatform(最后一列),我们想删除掉取值为2的那些样本。如何做?非常简单。
df[(True-df['appPlatform'].isin([2]))]
当然,有时候我们需要去掉不止一个值,这个时候只需要在isin([])的列表中添加。更具体来说,例如,对于appID这个属性,我们想去掉appID=278和appID=382的样本。
df[(True-df['appID'].isin([278,382]))]
另外,我们有时候并不只是考虑某一列,还需要考虑另外若干列的情况。例如,我们需要过滤掉appPlatform=2而且appID=278和appID=382的样本呢?非常简单。
df[(True-df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))]
很详细的介绍链接:https://www.jb51.net/article/236118.htm#_lab2_0_4
官网详细解释链接:https://pandas.pydata.org/docs/reference/api/pandas.Series.str.contains.html?highlight=contains#pandas.Series.str.contains
import pandas as pd
df = {'地址':['北京','上海','长沙','北京省会','广州市区'],'table':['user','student','course','sc','book']}
df = pd.DataFrame(df)
print(df)
print('================')
citys = ['北京', '天津', '上海']
address = '|'.join(citys)
df_new = df[df['地址'].str.contains(address)] #包含对应关键字
print(df_new)

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

免责声明:本站所有资料信息,有部分为本人原创,部分为从网络收集而来,仅供网友查看阅读所用,所有信息版权归信息所有人或所有公司所有
如果信息内容侵犯到您的版权或权益请与我们联系,经确认后我们会立即移除相关内容或链接
服务QQ: 565449214 手机: 13961347334
ICP备案: 苏ICP备15019627号 苏公网安备 32070502010230号