pandas用for循环获取全部的行数据并对比两列数据是否一致
时间: 2023-08-16 22:05:53 浏览: 87
可以使用pandas中的iterrows()方法遍历每一行数据,然后对比两列数据是否一致,示例如下:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 遍历每一行数据,对比两列数据是否一致
for index, row in df.iterrows():
if row['col1'] == row['col2']:
print(f"第{index}行,两列数据一致")
else:
print(f"第{index}行,两列数据不一致")
```
其中,`data.csv`是数据文件的文件名,`col1`和`col2`是需要对比的两列数据的列名。在遍历每一行数据时,使用`row['col1']`和`row['col2']`获取对应的列数据进行比较。如果一致就输出一致,否则输出不一致。
相关问题
pandas用for循环获取全部的行数据并对比两列数据是否一致,分别导致列数据一致的行和不一致的行
可以使用以下代码来实现:
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 初始化两个列表,用于存储一致和不一致的行
same_rows = []
different_rows = []
# 遍历每一行
for index, row in df.iterrows():
# 获取两列数据的值
col1 = row['column1']
col2 = row['column2']
# 判断两列数据是否一致
if col1 == col2:
same_rows.append(row)
else:
different_rows.append(row)
# 将一致和不一致的行转换为DataFrame格式并导出为csv文件
same_df = pd.DataFrame(same_rows)
same_df.to_csv('same_rows.csv', index=False)
different_df = pd.DataFrame(different_rows)
different_df.to_csv('different_rows.csv', index=False)
```
其中,`data.csv`是原始数据文件,`column1`和`column2`是需要对比的两列数据。将一致和不一致的行分别存储在`same_rows`和`different_rows`列表中,最后将它们转换为DataFrame格式并导出为csv文件。
用pandas做两列数据对比,并输出其中差异的地方
可以使用Pandas的`merge()`函数将两个DataFrame按照某些列进行合并,然后使用布尔索引对比两个DataFrame的差异。下面是一个示例代码:
```
import pandas as pd
# 创建示例数据
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['A', 'B', 'C', 'E'], 'value2': [1, 2, 5, 6]})
# 使用merge()函数合并两个DataFrame
df = pd.merge(df1, df2, on='key', how='outer')
# 使用布尔索引找出差异的地方
diff = df[df['value1'] != df['value2']]
print(diff)
```
在上面的代码中,首先创建了两个DataFrame对象`df1`和`df2`,然后使用`merge()`函数将这两个DataFrame按照'key'列进行合并,合并方式为outer join。这样就可以将两个DataFrame的数据对齐,如果某个key在其中一个DataFrame中不存在,则用NaN填充。
然后,使用布尔索引找出'value1'和'value2'列不相等的地方,即为两个DataFrame中的差异。在上面的例子中,输出的结果为:
```
key value1 value2
2 C 3.0 5.0
3 D 4.0 NaN
4 E NaN 6.0
```
其中,'C'行的'value1'和'value2'不相等,'D'行在df1中存在,在df2中不存在,'E'行在df2中存在,在df1中不存在。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)