我正在开发一个Python应用程序,并且正在与pandas rame合作.不幸的是,我有一个警告:
"不建议设置不兼容的dype项,并且会引发 Pandas 的future 版本中出现错误.值'[149.7 149.7 149.7]' dype与float 64不兼容,请显式转换为 首先兼容的dype.df1.loc [mp_idx_start:mp_idx_start + mp_idx-1, ' AuM ']=(feesPrefinancing. loc [:mp_idx-1,' Fees']+ feesspel延期. loc [:mp_idx-1,' Fees ']+ feesLTQDeferred. loc [:mp_idx-1,' Fees']). values '
这是我的代码:
df1['Date'] = pd.to_datetime(pd.date_range(simulationDate, end=feesLTQDeferred['Valuation date'].iloc[-1], freq='MS', inclusive='both').date)
df1['AuM'] = 0.
df1.loc[4:7, 'AuM'] = (feesPrefinancing.loc[:3, 'Fees'] + feesMobiDeferred.loc[:3, 'Fees'] + feesLTQDeferred.loc[:3, 'Fees']).values
df1.loc[8:, 'AuM'] = (annuities['Invested annuity'].values + feesPrefinancing.loc[4:, 'Fees'].values + feesMobiDeferred.loc[4:, 'Fees'].values + feesLTQDeferred.loc[4:, 'Fees'].values)
正如您所猜的那样,我有一个日历,第一列是日期,第二列应该包含浮动数字.这就是为什么我用"0."值(这也是我在其他帖子中读到的解决这个错误的内容).不幸的是,即使用一些"astype"和其他类似的东西来划线,这个警告也不会消失.
以下是获得的结果,该结果是正确的,但我有警告:
Date AuM
0 2023-01-01 0.000000
1 2023-02-01 0.000000
2 2023-03-01 0.000000
3 2023-04-01 0.000000
4 2023-05-01 0.000000
5 2023-06-01 0.000000
6 2023-07-01 0.000000
7 2023-08-01 0.000000
8 2023-09-01 149.700000
9 2023-10-01 149.700000
10 2023-11-01 149.700000
11 2023-12-01 149.700000
12 2024-01-01 2475.800000
13 2024-02-01 2475.800000
14 2024-03-01 2475.800000
15 2024-04-01 2475.800000
16 2024-05-01 2475.800000
17 2024-06-01 2475.800000
18 2024-07-01 2475.800000
19 2024-08-01 2475.800000
您知道如何解决这个问题吗?