dataframe两列合并去重
时间: 2023-10-12 10:12:08 浏览: 122
可以使用 pandas 库中的 concat 函数, 如下所示:
```python
import pandas as pd
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
df2 = pd.DataFrame({'A': [2, 3, 4], 'B': ['y', 'z', 'w']})
df = pd.concat([df1, df2]).drop_duplicates()
print(df)
```
这里将 df1 和 df2 合并,然后使用 drop_duplicates 函数去重,最终得到合并后的 dataframe。
相关问题
python的dataframe两列去重
要在Python的DataFrame中进行两列去重,可以使用drop_duplicates()函数。这个函数将删除DataFrame中重复的行,只保留唯一的行。在你提供的引用中,已经给出了使用drop_duplicates()函数进行两列去重的示例代码。你可以按照以下步骤进行操作:
1. 合并两列数据,将它们转换为列表并存储在一个新的列中。可以使用map()函数和lambda表达式来实现:
`df['ls'] = list(map(lambda x, y: [x, y], df['a_attr_single'], df['b_attr_single']))`
2. 对新列中的列表进行排序处理,以确保相同组合的值具有相同的顺序。可以使用apply()函数和lambda表达式来实现:
`df['ls'] = df['ls'].apply(lambda x: ','.join(sorted(x)))`
3. 删除被合并的两列,只保留合并后的列:
`df.drop(columns=['a_attr_single', 'b_attr_single'], inplace=True)`
4. 使用drop_duplicates()函数对DataFrame进行去重操作,只保留唯一的行:
`df = df.drop_duplicates()`
5. 如果需要,可以将合并的列表拆分为两列数据值:
`df['attr1'], df['attr2'] = df['ls'].str.split(',', 1).str`
综上所述,这些步骤将使你能够在Python的DataFrame中实现两列去重操作。
pandas 按照某两列数据去重
可以按照某两列数据去重的方法如下:
1. 首先,合并两列数据成一个列表,并对列表进行排序处理。
```python
df['ls'] = list(map(lambda x,y:[x,y],df['a_attr_single'],df['b_attr_single']))
df['ls'] = df['ls'].apply(lambda x:','.join(sorted(x)))
```
2. 然后,删除被合并的两列数据。
```python
df.drop(columns=['a_attr_single', 'b_attr_single'], inplace=True)
```
3. 接下来,对DataFrame进行去重操作。
```python
df = df.drop_duplicates()
```
4. 最后,将合并的列表拆分成两列数据。
```python
df['attr1'], df['attr2'] = df['ls'].str.split(',', 1).str
```
这样就可以按照某两列数据进行去重了。
阅读全文
相关推荐














