python Dataframe 按条件去除dataframe中的值 方法

import pandas as pd

df = pd.read_excel('excel/dj.xls',sheet_name='Sheet1')

df1= df[(df['topic']==i)&(df['eve']==1)][vocs]#excel表格中对应的列属性取值的筛选。
                                              #vocs是一个列表,对应的是一组excel属性列。

 

 

### 回答1: 可以使用pandas库的drop_duplicates()函数来去除dataframe的重复。该函数可以指定列名或者全部列进去重。例如: 假设有一个dataframe df,其包含重复: ``` import pandas as pd df = pd.DataFrame({'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}) print(df) ``` 输出: ``` A B 0 1 4 1 2 5 2 2 5 3 3 6 ``` 可以使用drop_duplicates()函数去除重复: ``` df = df.drop_duplicates() print(df) ``` 输出: ``` A B 0 1 4 1 2 5 3 3 6 ``` 默认情况下,drop_duplicates()函数会保留第一个出现的重复,而将后面的重复删除。如果想要保留最后一个出现的重复,可以设置参数keep='last'。例如: ``` df = pd.DataFrame({'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}) df = df.drop_duplicates(keep='last') print(df) ``` 输出: ``` A B 0 1 4 2 2 5 3 3 6 ``` 如果想要指定特定的列进去重,可以设置参数subset,例如: ``` df = pd.DataFrame({'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6], 'C': [7, 8, 8, 9]}) df = df.drop_duplicates(subset=['A', 'B']) print(df) ``` 输出: ``` A B C 0 1 4 7 1 2 5 8 3 3 6 9 ``` ### 回答2: 在Python去除DataFrame的重复可以使用pandas库的drop_duplicates()方法。该方法可以根据指定的列名检测并删除重复的。 首先,导入pandas库: ``` import pandas as pd ``` 然后,创建一个DataFrame对象: ``` data = {'A': [1, 2, 3, 3, 4, 5], 'B': ['a', 'b', 'c', 'c', 'd', 'e'], 'C': [True, False, True, True, False, False]} df = pd.DataFrame(data) ``` 现在,我们有一个DataFrame对象df,其包含3列A、B和C。我们可以使用drop_duplicates()方法删除重复的,如下所示: ``` df.drop_duplicates(inplace=True) ``` 上述代码的inplace=True参数表示直接在原始DataFrame对象上进删除操作。 现在,我们可以打印出修改后的DataFrame对象: ``` print(df) ``` 输出结果为: ``` A B C 0 1 a True 1 2 b False 2 3 c True 4 4 d False 5 5 e False ``` 可以看到,原始DataFrame对象的重复被成功删除了。 另外,如果我们想要根据特定的列名来判断重复,并删除重复的,可以使用subset参数。例如,要根据列A判断重复并删除重复的,可以将代码修改为: ``` df.drop_duplicates(subset=['A'], inplace=True) ``` 这样,只有列A的重复会被删除。其他的列B和C的重复则不会删除。 ### 回答3: 在Python,可以使用pandas库来操作和处理数据,包括去除dataframe的重复。下面是使用Python去除dataframe重复方法: 首先,导入相应的库: ``` import pandas as pd ``` 然后,创建一个dataframe: ``` data = {'A': [1, 2, 3, 1, 2, 3], 'B': ['a', 'b', 'c', 'a', 'b', 'c'], 'C': [1.1, 2.2, 3.3, 1.1, 2.2, 3.3]} df = pd.DataFrame(data) ``` 接下来,使用pandas的`drop_duplicates()`函数去除重复: ``` df = df.drop_duplicates() ``` 默认情况下,`drop_duplicates()`函数会根据所有列的来判断是否为重复,并保留第一次出现的。可以通过传递参数来进更进一步的控制。例如,可以使用`subset`参数来指定要考虑的列: ``` df = df.drop_duplicates(subset=['A']) ``` 这将只考虑'A'列的来判断是否为重复,并保留第一次出现的。 另外,还可以使用`keep`参数来指定保留哪个重复。默认为'first',表示保留第一次出现的;'last'表示保留最后一次出现的;False表示删除所有的重复。 ``` df = df.drop_duplicates(keep='last') ``` 最后,可以使用`reset_index()`函数来重新设置索引: ``` df = df.reset_index(drop=True) ``` 以上就是使用Python去除dataframe重复方法。通过调用pandas库的`drop_duplicates()`函数,可以轻松地去除dataframe的重复,并根据需要进进一步的控制和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值