我有兩個大型數據集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的值是索引值不存在。
添加回答
舉報
0/150
提交
取消