假设有两个数据框:
df1包含4列。'名称'列包含城市的名称(A,B,C)。每个其他列都代表一年(y0,y1,y2),它们包含在该城市居住的人数。
城市名称在数据框df中出现的次数不是恒定的。感谢您的提前致谢。
np.random.seed(seed=34)
name = ['A','B','C']
y0 = np.random.random_integers(1,high=40, size=3)
y1 = np.random.random_integers(1,high=40, size=3)
y2 = np.random.random_integers(1,high=40, size=3)
df = pd.DataFrame(data={'NAME' : name, 'y0' : y0, 'y1' : y1, 'y2' : y2})
df
NAME y0 y1 y2
0 A 34 36 15
1 B 22 6 30
2 C 5 12 19
df2 包含 3 列。列 'NAME' 包含城市的名称。'y' 列包含年份的值 (y0、y1、y2),而 'i' 列则包含拥有互联网接入的人数。
y = ['y0', 'y1', 'y2', 'y0', 'y1', 'y2', 'y0', 'y1', 'y2']
name2 = ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']
i = [15, 6, 12, 18, 4, 20, 3, 8, 2]
df2 = pd.DataFrame(data={'NAME':name2, 'y':y, 'i':i})
df2
NAME y i
0 A y0 15
1 A y1 6
2 A y2 23
3 B y0 18
4 B y1 17
5 B y2 20
6 C y0 3
7 C y1 24
8 C y2 2
我需要在df2上创建一列,它包含了与df1['NAME']相等且df2['y']等于df1的列值的df1的值,以获得以下结果:
NAME y i v
0 A y0 15 34
1 A y1 6 36
2 A y2 12 15
3 B y0 18 22
4 B y1 4 6
5 B y2 20 30
6 C y0 3 5
7 C y1 8 12
8 C y2 2 19
城市名称在数据框df中出现的次数不是恒定的。感谢您的提前致谢。
df2['y']
应该等于哪一列? - Umar.H