1 回答

TA貢獻1794條經驗 獲得超8個贊
問題出在已定義的 DataFrame 中 - 所有數據都轉換為 2d numpy 數組中的字符串:
a = np.array([['A',1.,2.,3.],['B',1.,2.,3.],['C',1.,2.,3.]])
print (a)
[['A' '1.0' '2.0' '3.0']
['B' '1.0' '2.0' '3.0']
['C' '1.0' '2.0' '3.0']]
解決方案是刪除字符串值并按列表指定索引:
a = np.array([[1.,2.,3.],[1.,2.,3.],[1.,2.,3.]])
a = pd.DataFrame(a, index=list('ABC'))
b = np.array([[1.,2.,3.],[1.,2.,3.]])
b = pd.DataFrame(b, index=list('AB'))
df_add = a.add(b,fill_value=1)
print (df_add)
0 1 2
A 2.0 4.0 6.0
B 2.0 4.0 6.0
C 2.0 3.0 4.0
或者在將 index 設置為floats后轉換 DataFrames :
a = np.array([['A',1.,2.,3.],['B',1.,2.,3.],['C',1.,2.,3.]])
a = pd.DataFrame(a)
a = a.set_index(0).astype(float)
b = np.array([['A',1.,2.,3.],['B',1.,2.,3.]])
b = pd.DataFrame(b)
b = b.set_index(0).astype(float)
df_add = a.add(b,fill_value=1)
print (df_add)
1 2 3
0
A 2.0 4.0 6.0
B 2.0 4.0 6.0
C 2.0 3.0 4.0
添加回答
舉報