获取某个学者参与或主持的所有基金项目,数据中大部分学者都有唯一的ID,但也存在部分学者有多个ID的现象,例如钟元生,需要将学者ID进行统一,但需要注意一些同名现象,不要混淆了;(单独抽取学者ID、学者姓名、单位信息,然后根据姓名进行统计,获取存在同名现象的记录,单独提取出来,然后人工判断下,是否为同一学者)
时间: 2024-03-26 19:39:01 浏览: 7
这个问题需要获取基金项目和学者信息的数据源,以下是一个示例代码,假设我们已经获得了学者信息和基金项目信息的两个数据集,分别为scholars和funds:
```python
import pandas as pd
# 读取学者信息和基金项目信息数据集
scholars = pd.read_csv('scholars.csv')
funds = pd.read_csv('funds.csv')
# 对学者信息进行处理,将同一姓名的学者ID进行统一
scholars_grouped = scholars.groupby('姓名')['学者ID'].apply(set).reset_index(name='学者ID_set')
scholars_grouped['学者ID'] = scholars_grouped['学者ID_set'].apply(lambda s: ','.join(s))
scholars_grouped.drop('学者ID_set', axis=1, inplace=True)
# 合并基金项目和学者信息数据集
funds_with_scholars = pd.merge(funds, scholars_grouped, on='姓名')
# 获取某个学者的所有基金项目
def get_funds_by_scholar(scholar_name):
scholar = scholars_grouped[scholars_grouped['姓名'] == scholar_name]
if len(scholar) == 0:
return pd.DataFrame()
scholar_id = scholar.iloc[0]['学者ID']
return funds_with_scholars[funds_with_scholars['学者ID'].str.contains(scholar_id)]
# 获取钟元生的所有基金项目
zhong_funds = get_funds_by_scholar('钟元生')
```
这段代码首先读取了学者信息和基金项目信息数据集,然后对学者信息进行处理,将同一姓名的学者ID进行统一,最后合并基金项目和学者信息数据集。接下来定义了一个函数get_funds_by_scholar,用于获取某个学者的所有基金项目。这个函数首先根据学者姓名获取学者ID,然后在合并后的数据集中查询包含该ID的所有基金项目。最后,我们调用这个函数获取了钟元生的所有基金项目。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)