为了账号安全,请及时绑定邮箱和手机立即绑定

Python:为什么当一个是随机样本时我不能比较两个数据帧的索引

Python:为什么当一个是随机样本时我不能比较两个数据帧的索引

米琪卡哇伊 2022-07-12 18:01:14
我有两个大型数据集answer,truth我想从中抽取一个随机样本answer,然后从中抽取与采样数据集truth具有相同索引值的样本answer,但它不起作用!这就是我所做的:answer = pd.read_csv("answer.csv")a = answer.sample(700)truth = pd.read_csv("truth.csv")truth = truth[truth.index.isin(a.index)]>>> print(a)        item    question                   worker answer9597    20308   clueweb09-enwp01-00-19667   w339    07371    20228   clueweb09-en0001-18-32106   w108    15527    20180   clueweb09-en0005-86-40955   w127    08505    20270   clueweb09-en0010-50-16267   w101    118202   20958   clueweb09-en0010-91-30990   w153    0... ... ... ... ...18004   20956   clueweb09-en0007-62-27063   w685    15532    20180   clueweb09-en0000-46-11807   w108    111510   20412   clueweb09-enwp00-91-09937   w353    16343    20202   clueweb09-en0003-34-25466   w102    016222   20780   clueweb09-en0011-26-41543   w683    0>>> print(truth)    item       question             truth28  20002   clueweb09-en0009-15-02980   134  20002   clueweb09-en0010-92-14638   159  20002   clueweb09-en0011-89-08538   1126 20012   clueweb09-en0007-39-22682   1135 20012   clueweb09-en0007-24-18145   1... ... ... ...19610   20996   clueweb09-enwp00-98-10892   019626   20996   clueweb09-enwp00-97-10382   019663   20996   clueweb09-enwp01-53-09380   119676   20996   clueweb09-enwp01-63-12069   119688   20996   clueweb09-enwp01-69-11963   1有谁知道为什么truth给出不同的索引值?
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

你应该简单地传递你内部的值,.loc但是你现在可以忽略一个 FutureWarning。这是一个例子:


import pandas as pd

data_1 = {'index':[1,2,3,4,5],'Name':['Sanji','Zoro','Luffy','Nami','Chopper']}

data_2 = {'index':[1,2,5,6,7],'Enemies':['DfDqx','Kuro','BigM','Croco','Exodia']}

df_1 = pd.DataFrame(data_1)

df_2 = pd.DataFrame(data_2)

df_1 = df_1.set_index('index')

df_2 = df_2.set_index('index')


df_new = df_1.loc[df_2.index].dropna(how='any')

print(df_new)

匹配应该在索引值 1、2 和 5 上。输出:


          Name

index         

1        Sanji

2         Zoro

5      Chopper

我正在添加,dropna()因为否则您将返回所有值df_1withNaN的值是索引值不存在。


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信