如何基于python中的另一个数据帧获取数据帧的子集
我刚刚学习了pandas,基本上我想根据存储在另一个数据帧中的ID获取数据帧的一些行。让我向您展示代码:如何基于python中的另一个数据帧获取数据帧的子集,python,pandas,dataframe,Python,Pandas,Dataframe,我刚刚学习了pandas,基本上我想根据存储在另一个数据帧中的ID获取数据帧的一些行。让我向您展示代码: import pandas as pd from sklearn.model_selection import train_test_split f_data="data.tsv" all_data = pd.read_csv(f_data,delimiter='\t',encoding='utf-8',header=None) x_data = all_data[[0,1,3]] y_d
import pandas as pd
from sklearn.model_selection import train_test_split
f_data="data.tsv"
all_data = pd.read_csv(f_data,delimiter='\t',encoding='utf-8',header=None)
x_data = all_data[[0,1,3]]
y_data = all_data[[2]]
# Split train and test sets
x_train,x_test,y_train,y_test = train_test_split(x_data,y_data,test_size=0.1)
所有_数据总共有12列。我在x_数据中使用了3列,在y_数据中使用了1列
创建x_train
和x_test
后,我希望将这些实例写入tsv
文件,但在这样做的同时,我希望写入存储在all_data
中的所有12列。要做到这一点,我需要将x\u-train
和x\u-test
中的实例与所有\u数据进行匹配。我怎么能这么做
编辑
以下是我的数据的外观:
所有数据
0 1 2 3 ... 8 9 10 11
0 35 Auch in Großbritannien, wo 19 Atomreaktoren in... Ausstieg -1.0 ... Sunday Times Sunday Times NaN 1
#继续这样
x\u列车
0 1 3
939 2074 Die CSU verlangt von der schwarz-gelben Koalit... 1.0
因此,我想做的是获取所有_数据中以939710288854433开头的行,并将它们写入一个文件。分割数据的索引与原始数据相对应,并可用于查找原始数据(假设索引是唯一的):
可能使用all_data.loc[x_data.index]
?您还没有向我们显示您的数据。@JohnZwinck我通过添加一些数据编辑了我的问题。@JohnZwinck您编辑的评论有效。谢谢
all_data.loc[x_train.index]
all_data.loc[x_test.index]