python - 需要从一个数据帧中查找数据,看看它是否在 Pandas [Python] 中是另一个数据帧
问题描述
我目前有 2 个 csv 文件并且正在读取它们,并且需要在一个 csv 中获取 ID 并在另一个中找到它们,以便我可以获得他们的数据行。目前我有以下代码,我相信它会通过第一个数据帧,但只是将最后一个匹配项添加到新数据帧中。但是,我需要它来添加所有后续行。
这是我的代码:
patientSet = pd.read_csv("794_chips_RMA.csv")
affSet = probeset[probeset['Analysis']==1].reset_index(drop=True)
houseGenes = probeset[probeset['Analysis']==0].reset_index(drop=True)
for x in affSet['Probeset']:
#patients = patientSet[patientSet['ID']=='1557366_at'].reset_index(drop=True)
#patients = patientSet[patientSet['ID']=='224851_at'].reset_index(drop=True)
patients = patientSet[patientSet['ID']==x].reset_index(drop=True)
print(affSet['Probeset'])
print(patientSet['ID'])
print(patients)
以下是输出:
0 1557366_at
1 224851_at
2 1554784_at
3 231578_at
4 1566643_a_at
5 210747_at
6 231124_x_at
7 211737_x_at
Name: Probeset, dtype: object
0 1007_s_at
1 1053_at
2 117_at
3 121_at
4 1255_g_at
...
54670 AFFX-ThrX-5_at
54671 AFFX-ThrX-M_at
54672 AFFX-TrpnX-3_at
54673 AFFX-TrpnX-5_at
54674 AFFX-TrpnX-M_at
Name: ID, Length: 54675, dtype: object
ID phchp003v1 phchp003v2 phchp003v3 ... phchp367v1 phchp367v2 phchp368v1 phchp368v2
0 211737_x_at 12.223453 11.747159 9.941889 ... 14.828389 9.322779 10.609053 10.771162
如您所见,它仅匹配第一个数据帧中的最后一个 ID,而不是全部匹配。我怎样才能让他们都匹配并成为患者?谢谢你。
解决方案
您可能想使用合并功能
df_inner = pd.merge(df1, df2, on='id', how='inner')
在这里查看https://www.datacamp.com/community/tutorials/joining-dataframes-pandas搜索“内部连接”
--edit-- 你可以指定列(使用 left_on=None,right_on=None,),看这里:https ://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#database-style -dataframe-or-named-series-joining-merging
推荐阅读
- angular - AngularTreeComponent:treeModel.update() 异步工作。如何等待完成更新?
- c++ - C++ SSO:如何以编程方式查找是否使用短字符串优化分配了 std::wstring?
- python - 如何在 PyQt5 中离线使用folium map
- verilog - 使用 D 触发器的 4 位寄存器,具有启用和异步复位功能
- c++ - 如何使用具有运行时类型的编译时接口?
- python - 从 datetime 对象中提取时间并与字符串时间进行比较
- python-3.x - aws-secretsmanager-caching-python :: 缓存是否在同一 EC2 实例上运行的不同 Docker 容器之间共享?
- css - 自定义 Angular 组件未在 ie11 上应用 css 类
- sql - Using jsonb_agg/jsonb_build_object to parse to inner structs
- reactjs - React - 酶测试 - 模拟点击后如何检查课程