添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
import pandas as pd
se1=pd.Series(['a','b','b','d','d','d','e','f','f'])
se2=pd.Series(['1','2','2','4','4','4','5','7','8'])
df = pd.DataFrame({'name':se1, 'number':se2})

看一下df的样子:

2.查看name列中包含的数据有哪些?

print(df['name'].unique()) 
结果为:['a' 'b' 'd' 'e' 'f']

可以看到结果为name列中包含的不同的数据值。这个函数筛选的并非列中值出现一次的值,而是输出列中存在的值。

3.输出列中每个数值,及每个值出现的次数

df['name'].value_counts()

输出结果如下:

4.查看数据集中行的重复情况

df.duplicated()

结果如下:

可以看到duplicated会对行的重复情况做检查,并且将重复行中的第一行置为False,其余行置为True。也就是说认为重复行中的第一行为不重复,剩余行为重复行。

深入一下:

duplicate的参数为:duplicated(subset=None,keep=“first”)。

其中keep参数可以设置如下:

          - first:从前向后查找,除了第一次出现外,其余相同的被标记为重复。默认为此选项。(上面的实验已经看到这一点)

          - last:从后向前查找,除了最后一次出现外,其余相同的被标记为重复。

          - False:所有相同的都标记为重复。

subset:用于识别重复的列标签或列标签序列,默认识别所有的列标签。

使用方法:df.duplicated(subset=['name','number'])。

5.删除数据集中重复的行

df.drop_duplicates()

将返回数据集中,不同的数据行

深入一下:

drop_duplicates(subset=None,keep=“first”,inplace=False)

inplace:表示是否在原数据上操作,如果设为True,则表示直接修改原数据;如果设为False,则表示修改原数据的副本,返回新数据。True可以理解为永久修改,False为临时修改。

keep:同duplicated一样,这里就不再详细说了。

看一下subset的实验:

df.drop_duplicates(subset='name')

结果如下:

可以看到,删除重复行的时候,只考虑了subset集中列的重复情况,未考虑其他列的重复情况。

欢迎点赞、评论、转发~

Python pandas库提供了一些方便的方法删除数据框(DataFrame重复行。本文将介绍如何使用这些方法删除所有重复行,不进行数据保留。首先,我们需要读取包含重复行的数据。在本文,我们使用了一个示例数据集,该数据集包含了一些重复数据,并保存在CSV文件。以上就是使用Python pandas库删除所有重复行的方法方法检查数据框的重复行。最后,我们可以将新的数据框保存回CSV文件。在删除重复行之前,我们应该先检查是否存在重复行。如果输出结果有True值,则表示存在重复行。 pandas读取一组数据,可能存在重复索引,虽然可以利用drop_duplicate直接删除,但是会删除重要信息。 比如同一ID用户,多次登录学习时间。要计算该用户总共‘’学习时间‘’,就要把重复的ID的‘’学习时间‘’累加。 可以结合groupby和sum函数完成该操作。 实例如下: 新建一个DataFrame,计算每个 id 的总共学习时间。其 id 为one/two的存在重复学习时间。先利用 groupby 按照键 id 分组,然后利用sum()函数求和,即可得到每个id的总共学习时间。 以上这篇对DataFrame数据重复行,利用groupby累加合并的方法详解就是小编分享给大 python数据分析工具pandasDataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数。 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几行的数据,默认后5行 df_obj.index #查看索引 df_obj.columns #查看列 在Python创建DataFrame是一个常见的任务,但是有时候需要创建含有重复列名的DataFrame数据集。在上述代码,我们使用了字典数据结构来构建DataFrame,其包含三列数据,其’A’列被重复定义了两次。将原有的’A’列重新命名为’A_new’,这样便可以直接使用列名来索引DataFrame数据了。使用以上代码,我们可以通过下标访问到包含重复列名的DataFrame数据集数据。通过以上两种方法,我们可以成功创建并使用含有重复列名称的DataFrame数据集dataFrame数据如下 import pandas as pd data = pd.DataFrame({'name':['小红','小兰','小明','小芳'], 'sex':["女","女","男","女"], 'age':[19,20,23,20]}) name sex age 0 小红 女 19 1 小兰 女 20 2 小明 男 23 3 小芳 女 20 1.查找age列相... data.drop_duplicates()#data一行元素全部相同时才去除 https://blog.csdn.net/weixin_30849591/article/details/95490552 在pythonset(集合)是和数学意义上的集合一样,不允许元素重复,因此可以将list转为set去重,当然这样比较粗暴,不清楚哪些数据重复的。 如果要找出哪些元素是重复的,可以用pandas库的dataframe数据结构,用drop_duplicates方法进行去重。原理是这样:drop_duplicates方法可以完全清除重复元素,比如[1, 2, 2, 3],经过drop_duplic... 使用DataFrame来查看我们刚刚输入的表格,使用duplicated()函数来查看重复数据,如果数据重复就返回True,否则返回False,为bool类型的数据;也可以用duplicated('你要指定的列')指定列来查看重复数据,不指定则默认为第一列,如上图的num列; 使用函数drop_duplicates('num',inplace = True)来删除指定的数据,可以指定返回的. pandas使用iloc函数将dataframe所有的数值重置为0或者其他固定值(setting all values in dataframe to zero or other specific values) 第二个想法:只保留第一次出现的重复行 第三个想法:保留最后一次出现的重复行 这三个想法都可以用pandas自带一个方法实现。 DataFrame.drop_duplicates() 具体实现如 为了删除数据表格重复列,我们可以使用pandas的drop_duplicates()函数。Python的pandas库提供了很方便的方法删除这些重复的列。为了检查重复列是否已经被成功删除,我们可以通过pandas库自带的duplicated()函数来查看是否还存在重复的列。在本例,我们将使用pandas库加载一个样例数据数据包含有两个重复的列。可以看到,数据包含了四列,其有两列是重复的:‘state’和’city’。在本例,我们希望删除重复列,并保留第一个副本。 今天用numpy 的linalg.det()求矩阵的逆的过程出现了一个错误: TypeError: No loop matching the specified signature and casting was found for ufunc det 查了半天发现是数据类型的问题,numpy在算逆的时候会先检查一下数据类型是否一致,若不一致就会报错(话说这个错误提示信息也太难理解了,还得看源码o(╯□╰)o)。 由于我的数据是用pandas.DataFrame读取的,所以每一列的数据类型有可能不同。 回头检查一下数据,果然有的是int,有的是float。所以全部改为float64类型。