从另一个数据框的行值中提取数据框中的特定行值
Extract specific row values out of a data frame from row values of another dataframe
我有一个这样的数据框 (df1):
X Y
1 200.0 50
2 200.1 57
3 200.2 69
4 200.3 77
5 200.5 84
6 200.6 93
我还有另一个这样的数据框 (df2):
X
1 200.0
2 200.5
我想将与 df2 的 X 值匹配的 df1 的 Y 值提取到 df2 中,如下所示:
X Y
1 200.0 50
2 200.5 84
如何使用 pandas 和 numpy 解决这个问题?不幸的是,我是 python 的新手,我不知道。
谢谢。
此致,
医生斯尼达
pd.merge()
是"looking things up in another df" 的要求,但df.loc[]
本身也有"looking things up" 的意思。
"""set the df1 and df2 up """
import pandas as pd
import numpy as np
s ="""20000
20000
20000
200.4
200.5
200.6"""
df1 = pd.DataFrame(s.split('\n'), columns=['X'])
df1['Y'] = """50
57
69
77
84
93""".split('\n')
df2 = df1.iloc[[0, 5], :]
df2 = df2.drop(columns=['Y'])
print(df1)
print(df2)
""" the anwser to your question here: """
print(
df1.loc[df1.X.isin(df2.X), :].drop_duplicates(subset='X')
)
我有一个这样的数据框 (df1):
X Y
1 200.0 50
2 200.1 57
3 200.2 69
4 200.3 77
5 200.5 84
6 200.6 93
我还有另一个这样的数据框 (df2):
X
1 200.0
2 200.5
我想将与 df2 的 X 值匹配的 df1 的 Y 值提取到 df2 中,如下所示:
X Y
1 200.0 50
2 200.5 84
如何使用 pandas 和 numpy 解决这个问题?不幸的是,我是 python 的新手,我不知道。
谢谢。
此致, 医生斯尼达
pd.merge()
是"looking things up in another df" 的要求,但df.loc[]
本身也有"looking things up" 的意思。
"""set the df1 and df2 up """
import pandas as pd
import numpy as np
s ="""20000
20000
20000
200.4
200.5
200.6"""
df1 = pd.DataFrame(s.split('\n'), columns=['X'])
df1['Y'] = """50
57
69
77
84
93""".split('\n')
df2 = df1.iloc[[0, 5], :]
df2 = df2.drop(columns=['Y'])
print(df1)
print(df2)
""" the anwser to your question here: """
print(
df1.loc[df1.X.isin(df2.X), :].drop_duplicates(subset='X')
)