如何从具有共同列值的两个数据帧中获得合并的数据帧,使得只有那些行使得合并的数据帧在特定的列中具有共同的值。
我有5000行df1格式:
director_name actor_1_name actor_2_name actor_3_name movie_title
0 James Cameron CCH Pounder Joel David Moore Wes Studi Avatar
1 Gore Verbinski Johnny Depp Orlando Bloom Jack Davenport Pirates
o
我有两个大的和小的数据帧(实际上数据集非常非常大!)。下面的内容只是为了工作。
big <- data.frame (SN = 1:5, names = c("A", "B", "C", "D", "E"), var = 51:55)
SN names var
1 1 A 51
2 2 B 52
3 3 C 53
4 4 D 54
5 5 E 55
small <- data.frame (names = c("A",
具体来说,我想迭代两个数据文件,一个是大的,另一个是小的。
最后,我想比较一下某一列中的值。
我试着创建一个嵌套的for循环;外部循环遍历大型dataframe,内部循环迭代小的dataframe,但是我遇到了困难。
我正在寻找一种方法来识别我的大型数据文件中的"name“和"value”,它们与我的小dataframe匹配。
背景信息:我正在使用熊猫库。
大型数据帧:
小数据集:
Name Value
SF 12.84
TH -49.45
con_server = pyodbc.connect("Driver={SQL Server}; Server=link")
df1 =pd.read_sql_query("SELECT * FROM OPENQUERY(view1, 'SELECT * \
FROM summary1 WHERE code like (''%300%'') AND\
type = ''FUNNEL'' AND \
count > 100
据我所知,我目前更改pandas数据框中的值的方法还远远不是最优的,并且确实损害了我的工作流程。 示例:我想检查是否在另一个数据帧中找到了一个名称,如果是,使用第一个数据帧中搜索到的名称的iloc放入该数据帧中的值: for idx in id_list_of_names:
name = df["name"].iloc[idx]
if name in df_two["name"].values:
df["value"].iloc[idx] = df_two["value"][d