我想要在Python中合并或加入两个数据帧:
"数据" :
shortcontentid hour_timings not_relevant other postman_challenges \
0 1 NaN 1.0 NaN NaN
1 2 NaN 3.0 NaN NaN
数据框" verbatims" :
sentences shortcontentid
0 Gabe_Newell a écrit : 40 maxi en luminosité ? ... 1
1 J'aime une vidéo @YouTube de @seb_frit - CE ME... 2
我想通过主键shortcontentid
左键加入这些帧,这是两个帧共有的。如您所见,该操作只需将verbatims数据帧中的sentences
列添加到data
数据帧。
我做了一个经典的合并:
table = data.merge(verbatims, on='shortcontentid', how = "left")
但代码无法正常工作或返回错误的数据帧。例如,如果我在table
上进行打印,我的值为verbatims
,而不是data
的值。
这是一个例子:
nonusable 2 or bigger sentences
0 1 qualite NaN
正如您所看到的,sentences
充满了NaN,而我希望看到我的实际句子。
*NB : I imported my data from `pandas.csv` :
data = pandas.read_csv("data crowdflower.csv", sep=";", header=0, engine='python')*
在这些表上进行干净合并/加入的最佳方法是什么?
谢谢!
答案 0 :(得分:0)
以这种形式尝试:
table = pandas.merge(data, verbatims, how='inner', on='shortcontentid')
print (table)
答案 1 :(得分:0)
我已经部分理解了我的问题。 dtype
中的shortcontentid verbatims
是整数,而data
中的对象是pandas.to_numeric(data)
。所以我必须将dtype从object转换为int。我试过了:
arg must be a list, tuple, 1-d array, or Series
但它返回以下错误:
{{1}}
所以我仍被封锁。