Python用subset怎么找Excel中某几列相同,一列不相同的行的代码
时间: 2023-06-06 10:04:32 浏览: 157
可以使用 pandas 库来实现这个需求,具体代码如下:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('example.xlsx')
# 选取需要比较的列,示例中为 A 列到 C 列
cols_to_compare = ['A', 'B', 'C']
# 根据选取的列生成新的 DataFrame,并去重
df_unique = df.drop_duplicates(subset=cols_to_compare)
# 找到重复的行,即某几列相同,一列不相同的情况
df_dup = df[~df.index.isin(df_unique.index)]
# 输出结果
print(df_dup)
```
其中,`cols_to_compare` 存储了需要比较的列名,`df.drop_duplicates(subset=cols_to_compare)` 会生成一个新的 DataFrame,其中每一行都是指定列中的值都相同的行,然后使用 `~df.index.isin(df_unique.index)` 筛选出新 DataFrame 中没有的行,即重复的行,最后输出即可。
相关问题
Python怎么找出Excel中其余列完全相同某一列不相同后,将不相同的这一列数据相加
可以使用 pandas 库来处理 Excel 文件,下面是一段示例代码:
``` python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 找出其余列完全相同某一列不相同的行
# 假设这里有 3 列,其中第二列不相同
df_diff = df[df.duplicated(subset=[0, 2], keep=False)]
# 计算不相同列的数据之和
sum_diff_col = df_diff[1].sum()
print(sum_diff_col)
```
其中,`subset` 参数传入其余列的索引,`keep` 参数设置为 `False` 表示保留所有重复行。`df_diff[1]` 表示取出不相同列的数据,在这里假设其为第二列。最后输出不相同列数据之和。
Python怎么找出Excel中其余列完全相同某一列不相同并将这一列数据相加
可以使用pandas库进行处理。
假设要找出的列为'A',可以使用以下代码:
```
import pandas as pd
df = pd.read_excel('your_file_path') #读取Excel文件
df_sum = df.groupby('A').sum() #按照'A'列分组并求和
diff_idx = df_sum[df_sum.duplicated(keep=False)].index #找出'A'列值重复的行索引
diff_rows = df[df['A'].isin(diff_idx)] #找出'A'列值重复的所有行
result = diff_rows.drop_duplicates(subset=['A'], keep=False) #去除在其他列上也重复的行
```
这个代码会返回'A'列值不相同,其他列完全相同的行,并将这些行的'A'列数据相加。
阅读全文