2个dataframe 要删选其中一个dataframe的数据,条件是它某一列的数据不在另一个dataframe某一列中
时间: 2023-11-18 14:10:12 浏览: 23
可以使用 Pandas 中的 isin() 函数来实现。
假设一个 DataFrame 名为 df1,要删选的列名为 col1,另一个 DataFrame 名为 df2,用来比较的列名为 col2,代码如下:
```
df1 = df1[~df1['col1'].isin(df2['col2'])]
```
其中符号 ~ 表示取反,即取不在 df2['col2'] 中的数据行。
这样,就可以得到一个新的 DataFrame,其中不包含 df2['col2'] 中的数据行。
相关问题
2个dataframe 个一列数据其中一个比另一个多的
你好,根据你的描述,我理解为你想要将一个DataFrame中多余的列拷贝到另一个DataFrame中。可以使用 pandas 库来完成这个任务。具体的操作步骤如下:
假设你有两个DataFrame,分别为df1和df2,且df1中有多余的一列数据(列名为“extra_column”),你想将这列数据拷贝到df2中。
1. 首先,你需要确定df1和df2的对应关系,比如通过某一列数据的值进行匹配。假设这一列的名称为“key_column”。
2. 然后,你可以使用 pandas 的 merge 函数将这两个DataFrame合并起来:
```
merged_df = pd.merge(df1[['key_column', 'extra_column']], df2, on='key_column', how='inner')
```
这里使用了 df1[['key_column', 'extra_column']] 来选取需要的列。'how'参数指定使用内连接方式,即只保留两个DataFrame中都存在的行。
3. 最后,你可以将merged_df中的extra_column列拷贝到df2中:
```
df2['extra_column'] = merged_df['extra_column'].values
```
这里使用了 .values 将 pandas.Series 转换为 numpy.ndarray。
这样就完成了将一个DataFrame中多余的一列数据拷贝到另一个DataFrame中的操作。
2个dataframe 个一列数据其中一个比另一个多的数据怎么查
你好,根据你的描述,我理解为你想要比较两个DataFrame中某一列的数据,然后找到在其中一个DataFrame中存在但在另一个DataFrame中不存在的数据。可以使用 pandas 库来完成这个任务。具体的操作步骤如下:
假设你有两个DataFrame,分别为df1和df2,且df1中有多余的一列数据(列名为“extra_column”),你想找到在df1中存在但在df2中不存在的数据。
1. 首先,你需要确定df1和df2的对应关系,比如通过某一列数据的值进行匹配。假设这一列的名称为“key_column”。
2. 然后,你可以使用 pandas 的 merge 函数将这两个DataFrame合并起来:
```
merged_df = pd.merge(df1[['key_column', 'extra_column']], df2[['key_column']], on='key_column', how='left')
```
这里使用了 df1[['key_column', 'extra_column']] 和 df2[['key_column']] 来选取需要的列。'how'参数指定使用左连接方式,即保留df1中所有的行。
3. 最后,你可以使用 isna 函数和 loc 属性来找到在df1中存在但在df2中不存在的数据:
```
missing_values = merged_df.loc[merged_df['extra_column'].isna(), 'key_column']
```
这里使用了 isna 函数来判断extra_column列中的每个值是否为NaN,然后使用 loc 属性选取extra_column列为NaN的行,并提取其中的key_column列。
这样就找到了在df1中存在但在df2中不存在的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)