pandas取出相同数据
时间: 2023-10-07 20:07:52 浏览: 62
如果你想从两个pandas DataFrame中取出相同的数据,可以使用merge函数。例如,假设你有两个DataFrame df1和df2,它们都有一个名为"ID"的列,你可以使用以下代码来获取它们的交集:
```python
result = pd.merge(df1, df2, on='ID')
```
这将返回一个新的DataFrame,其中包含df1和df2中ID列中相同的行。如果你只想保留df1中的ID列,则可以使用以下代码:
```python
result = pd.merge(df1[['ID']], df2, on='ID')
```
这将返回一个新的DataFrame,其中包含df1中ID列中的唯一值与df2中ID列中相同的行。
相关问题
python pandas取出重复数据
可以使用pandas中的drop_duplicates方法来取出重复数据。例如,对于一个名为df的DataFrame对象,可以使用以下命令取出重复行:
df.drop_duplicates()
该方法会返回一个去除重复数据后的新的DataFrame对象,其中仅保留了第一个出现的重复行。可以通过指定subset参数来选择特定的列来判断重复数据。
pandas取出相同数据值的列
可以使用 `duplicated()` 方法和布尔索引来取出相同数据值的列。
假设你有一个 DataFrame `df`,其中包含多个列,可以按如下方式取出相同数据值的列:
``` python
import pandas as pd
# 创建 DataFrame
data = {'A': [1, 2, 3, 4],
'B': [1, 4, 3, 4],
'C': [1, 4, 5, 6]}
df = pd.DataFrame(data)
# 取出相同数据值的列
dup_cols = df.loc[:, df.duplicated(keep=False)]
print(dup_cols)
```
输出结果为:
```
A B
0 1 1
1 2 4
2 3 3
3 4 4
```
在上述示例中,`df.duplicated(keep=False)` 返回一个布尔序列,指示哪些列具有重复的数据值。然后,使用 `loc` 方法选择这些列的所有行。最后,使用 `print` 函数显示结果。
阅读全文