在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數據分析&挖掘  Python  HTML/ 2組numpy數據對比時的異常

2組numpy數據對比時的異常

1、我在將2個dataframe表格的真實數據轉化成numpy數據做列內容對比,遇到以下的情況:
input:

不同數組的單個元素

d12.values[0] [0],
d12.values[1] [0],
d11.values[0] [1],
d11.values[1] [1],

用其中一個數組的元素跟另外數組列去做矢量對比

d12.values[0] [0] == d11.values[:,1]

Output:
(u'u6db2/u7cbe/u7c89',
u'u6db2/u7cbe/u7c89',
u'u6db2/u7cbe/u7c89',
u'u6db2/u7cbe/u7c89',
False)

input:
d12.values[0] [0] == d11.values[0] [1],
d12.values[0] [0] == d11.values[1] [1]

Output:
(True, True)

不同數組中列中的一些元素單個對比時是一樣的,但用單個元素跟另外數組矢量對比時返回全是False。
而自己另外建的測試數據做對比卻很正常:
input:
d1 = pd.DataFrame([['x','c01','甲','1010'],['x','c01','甲','1020'],['x','c02','乙','1010'],['y','c02','乙','1020'],['y','c03','丙','1020'],['z','c03','丙','1030']],columns = list('abcd'))
d1

output:
clipboard.png

input:
d2 = pd.DataFrame([['x','20001','5層紙箱30cm'],['x','20002','1層紙箱50cm'],['x','20003','3層紙箱40cm'],['y','20004','內袋10克'],['y','20005','貼膜30克'],['z','20006','瓶子100克'],['z','20007','瓶子200克'],['z','20008','瓶子300克']],columns = list('aef'))
d2

ouput:

clipboard.png

input:
d2.values[0] [0] == d1.values[:,0]

output:
array([ True, True, True, False, False, False], dtype=bool)

問題:為什么一對一作比較是相同的情況,在一對多(整個數組)時返回的是全是False的結果?
補充一點,前面在做真實數據對比時還遇到這種報錯(測試數據沒有遇到):
D:Anaconda2libsite-packagesipykernel__main__.py:8: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
后面設置一下:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
報錯沒有了,但是就出現以上的問題。

回答
編輯回答
任她鬧

看起來是字符串的編碼問題,請把所有字符串轉成 unicode 試一下。

2017年2月7日 02:12