我有三个数据框,我想根据列中的特定值选择每个数据框的子集。
data1 = pd.read_csv('path_of_the_file', sep=",")
data2 = pd.read_csv('path_of_the_file', sep=",")
data3 = pd.read_csv('path_of_the_file', sep=",")
有变量名为" MAP"在所有数据框中。我想从所有数据框创建子集,如:
From data1
val1 val2 val3 MAP
12 78 45 101010101
13 71 76 101010101
From data2
val4 val5 val6 MAP
12 7190 89 101010101
13 2353 78 101010101
12 0 65 101010101
From data3
val7 val8 val9 MAP
1 78 0 101010101
我想在我的mongo db Scheme中将每行的这些值一起插入。
这就是我尝试过的
`
uniqueVar_detail = data2.MAP.unique()
for i in range(0,len(uniqueVar_detail)):
data1= data1[data1['MAP'] == uniqueVar_detail[i]]
data2 = data2[data2['MAP'] == uniqueVar_detail[i]]
data3 = data3[data3['MAP'] == uniqueVar_detail[i]]
db.EVR.insert_one({"MAP_MESSAGE_ID":str(data1.MAP),
"data1" : [{
"val1":str (data1.val1),
"val2":str(data1.val2,
"val3" :str (data1.val3)
}],
"data2":[{
"val4" : str(data2.val4),
"val5": str(data2.val5),
"val6": str(data2.val6)
}],
"data3" :[{
"val7" : str(data3.val7),
"val8" : str(data3.val8),
"val9" : str(data3.val9)
}]
})
`
插入时我也插入行索引。就像插入" MAP"变量960 101010101
,960也被插入。
我需要对代码做什么建议或一些更改?