这段代码什么意思:df_merged2 = pd.merge(bp_rp, j_k, on=['RA', 'DEC'],how = "inner")
时间: 2023-12-12 12:02:45 浏览: 26
这段代码的意思是将两个 pandas DataFrame(bp_rp和j_k)按照它们都具有的列('RA'和'DEC')进行内连接合并,生成一个新的 DataFrame(df_merged2)。内连接是指只保留两个 DataFrame 中都存在的行,how参数的值"inner"表示使用内连接方式。通过这个操作,我们可以将两个 DataFrame 中共同拥有的数据进行整合,方便进行后续的分析和处理。
相关问题
这两个方式求交集为什么结果不一样?方法一:df_merged2 = pd.merge(bp_rp, j_k, on=['RA', 'DEC'],how = "inner") 方法二:duplicates = ra_dec[ra_dec.duplicated()] df4=duplicates.drop_duplicates( subset=None, keep='first', inplace=False)
方法一和方法二的结果不一样的原因是两种方法对于重复值的处理方式不同。在方法一中,两个 DataFrame 按照列 'RA' 和 'DEC' 进行内连接,只保留两个 DataFrame 中都存在的行。而在方法二中,首先使用 `duplicates = ra_dec[ra_dec.duplicated()]` 选出重复的行,然后使用 `drop_duplicates()` 函数对这些重复行进行去重,保留其中的第一个(`keep='first'`)。
因此,如果 DataFrame 中存在多个相同的 'RA' 和 'DEC',方法二会将其去重,只保留第一个出现的行;
df_merged = pd.merge(df1, df2, on='公开(公告)号')留下匹配不同的行
你可以通过添加参数`how='outer'`来保留`df1`和`df2`中未匹配的行,具体代码如下:
```
df_merged = pd.merge(df1, df2, on='公开(公告)号', how='outer', indicator=True)
df_unmatched = df_merged[df_merged['_merge'] != 'both']
```
其中`_merge`列表示该行来自哪个数据框,`both`表示来自两个数据框的匹配行,`left_only`表示来自`df1`的未匹配行,`right_only`表示来自`df2`的未匹配行。因此,`df_unmatched`即为匹配不同的行。
相关推荐
![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)