pandas判断两列数据相同
时间: 2023-11-09 22:08:28 浏览: 60
可以使用pandas的equals()函数来判断两列数据是否相同。例如,假设有一个DataFrame df,其中包含两列'A'和'B',可以使用以下代码判断它们是否相同:
```
df['A'].equals(df['B'])
```
如果返回True,则表示两列数据相同;如果返回False,则表示两列数据不同。
相关问题
python如何从两列长数据中筛选出与另外两列不规则数据相同的数字并输出这些相同的数字
假设你有两个长数据,分别存储在 `data1` 和 `data2` 中,每个数据包含两列,分别为 `col1` 和 `col2`,另外两个不规则数据分别为 `irr1` 和 `irr2`。你可以使用 Pandas 库来解决这个问题,具体步骤如下:
1. 导入 Pandas 库:
```python
import pandas as pd
```
2. 读取数据到 Pandas 的 DataFrame 中:
```python
df1 = pd.read_csv('data1.csv')
df2 = pd.read_csv('data2.csv')
```
3. 从不规则数据中提取出需要比对的数字,并转换成集合:
```python
set1 = set(irr1.split(';') + irr2.split(';'))
```
4. 在 DataFrame 中使用条件筛选,找到与集合中相同的数字:
```python
result = df1[(df1['col1'].isin(set1)) & (df1['col2'].isin(set1))]
result = result.append(df2[(df2['col1'].isin(set1)) & (df2['col2'].isin(set1))])
```
5. 输出结果:
```python
print(result)
```
注意,这里使用了 Pandas 的 `isin` 函数来判断一个元素是否属于集合。另外,如果两个数据的列名不同,需要在代码中进行相应的修改。
列表data中某两列数据,列名分别为province和address,如果address这一列的数据与province这一列的数据相同则令address=0,否则为1,这两列数据都是字符串的形式。用python怎么写代码
可以使用pandas库来实现这个功能。具体代码如下:
```python
import pandas as pd
# 创建数据
data = {
'province': ['江苏省', '江苏省', '浙江省', '广东省'],
'address': ['南京市', '苏州市', '杭州市', '深圳市']
}
df = pd.DataFrame(data)
# 判断是否相同并赋值
df['address'] = df.apply(lambda row: '0' if row['province'] == row['address'] else '1', axis=1)
```
代码中,先创建了一个包含`province`和`address`两列的DataFrame对象`df`,然后使用`apply`函数对每一行进行操作。`lambda`表达式中的`row`代表每一行数据,`axis=1`表示对每一行进行操作。如果`province`和`address`相同,将`address`设为`0`,否则设为`1`。最终得到的结果就是处理后的DataFrame对象。