python如何从两列长数据中筛选出与另外两列不规则数据相同的数字并输出这些相同的数字
时间: 2024-02-18 10:00:47 浏览: 64
假设你有两个长数据,分别存储在 `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` 函数来判断一个元素是否属于集合。另外,如果两个数据的列名不同,需要在代码中进行相应的修改。
相关问题
python如何从一列长数据中筛选出与一列不规则数据相同的那些数字并输出
可以使用Python中的列表推导式和条件语句来实现此功能。具体步骤如下:
1. 定义一个长数据列表和一个不规则数据列表。
2. 使用列表推导式和条件语句筛选出与不规则数据列表中相同的数字,并将其保存在一个新的列表中。
3. 输出新的列表中的数字。
示例代码如下:
```
long_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
irregular_data = [2, 4, 6, 8]
result = [x for x in long_data if x in irregular_data]
print(result)
```
输出结果为:
```
[2, 4, 6, 8]
```
这段代码中,我们使用了列表推导式 `[x for x in long_data if x in irregular_data]` 来筛选出与不规则数据列表中相同的数字,并将其保存在 `result` 列表中。最后我们输出了 `result` 列表中的数字。
python如何筛选出两列不规则数据中相同的数据
您好!在 Python 中,可以使用 Pandas 模块来筛选出两列不规则数据中相同的数据。具体操作步骤如下:
1. 导入 Pandas 模块:
```python
import pandas as pd
```
2. 读取需要筛选的数据,并将其存储为 Pandas 的 DataFrame 对象:
```python
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
```
其中,'data.xlsx' 是包含数据的 Excel 文件的文件名,'Sheet1' 是需要读取的工作表的名称。您需要根据实际情况进行修改。
3. 选取需要进行比较的两列数据,并使用 Pandas 的 isin() 函数进行比较:
```python
col1 = df['列1']
col2 = df['列2']
same_data = df[col1.isin(col2)].drop_duplicates()
```
其中,'列1' 和 '列2' 分别是需要比较的两列数据的列名。isin() 函数会返回一个布尔值的 Series,指示每个元素是否在另一列中出现。然后,可以使用这个 Series 对 DataFrame 进行索引,筛选出相同的数据。最后,使用 drop_duplicates() 函数去除重复的行。
4. 打印筛选出的相同数据:
```python
print(same_data)
```
希望这个方法能够帮到您!
阅读全文