我有一個pandas資料框架,有一個獨特的代碼識別符號,詳情如下:
df1 = pd. DataFrame([['a'/span>, 1], ['b'/span>, 2], ['c', 3] 。 ['d', 4], ['e', 5],['f, 5]]。
columns=['code', 'value1'])
有了第二個資料框架,其內容如下
df2 = pd. DataFrame([['a'/span>, 11], ['b'/span>, 12], ['c', 13] 。 ['d', 14], ['e', 15], ['f, 16] 。 ['g', 17], ['h', 2], ['i, 3]。 ['j', 4], ['k'。5], ['l, 5]]。
columns=['code', 'value2'])
我想只看到df1中確定的代碼(即a-f),并有一個題為value2的第三列。
我已經嘗試了
df1 = df1.join(df2, on = 'Code')
但我一直得到一個NaN的值
我看了好幾個地方,看到了merge、concat和join,但它們似乎都不起作用uj5u.com熱心網友回復:
為了只看到df1中確定的代碼(即a-f),并有一個題為value2的第三列,你應該使用merge方法與how='inner'和on='code:
>>> df1.merge(df2, how='inner'/span>, on='code')
代碼 value1 value2
0 a 1 11
1b 2 12
2 c 3 13
3 D 4 14
4 e 5 15
5 f 5 16
uj5u.com熱心網友回復:
使用:
>>> df1.merge(df2, how='inner'/span>, on='code'/span>)
代碼 value1 value2
0 a 1 11
1b 2 12
2 c 3 13
3 D 4 14
4 e 5 15
5 f 5 16
或者你是指用how='outer'和merge?
>>> df1.merge(df2, how='outer'/span>, on='code'/span>)
代碼 value1 value2
0 a 1.0 11
1b 2.0 12
2 c 3.0 13
3 D 4.0 14
4 e 5.0 15
5 f 5.0 16
6 g NaN 17
7 h NaN 2
8 i NaN 3
9 j NaN 4
10 k NaN 5
11 l NaN 5
>>>
uj5u.com熱心網友回復:
試試這個:
df1 = df1.merge(df2, on = 'code'/span>)
因為你把列命名為'code'而不是'Code'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/331125.html
標籤:
上一篇:用Table2.Column2的值替換Table1.Column1中的NULL值,其中Table1有多行相同的值
