我有一个如下所示的 df,(前 2 行是文本,第一列是日期)
In [4]: df
Out[4]:
test bs dv if ir md qb sy tb
0 TESTacc a10900 a10900 a10900 IJJMKK11 a10900 a10900 a10900 a10900
1 01-Feb-2019 18.8668013 4.6021207 0.9330807 13.9766832 2.9002571 0.2824343 0.8280988 0.8587644
2 04-Feb-2019 16.187526 3.1000162 0.4145835 14.6465183 2.848472 0.2516608 0.8618771 0.218063
Run Code Online (Sandbox Code Playgroud)
我需要得到这个具有 3 个小数精度的 csv 另外我需要添加一个“总计”列(最右边的列)我已经尝试了以下内容,但这些都不正确
要添加我所做的总列:
ndf=df.iloc[2:,1:] #take only numerics in ndf
ndf = ndf.apply(pd.to_numeric)
ndf=ndf.round(3)
df['total']=ndf.sum(axis=1)
Run Code Online (Sandbox Code Playgroud)
这不是做简单的事情的正确方法,比如添加一个总列
所以我尝试过,
df=df.apply(pd.to_numeric,errors='ignore')
但 round 仍然无法在 df 上工作我的意图是只添加一个 Total 列并将所有数字四舍五入到小数点后 3 位。附加:完成此操作后,我将添加最后一行作为中位数行,每列都有中位数