以熊猫df为例,列全是整数,但有些带有NAN。
raw
capitalSurplus 188883000
totalLiab 2589242000
totalStockholderEquity 6740732000
minorityInterest 27549000
otherCurrentLiab 40412000
totalAssets 9357523000
endDate 1483142400
commonStock 5818867000
retainedEarnings 732982000
otherLiab 746117000
otherAssets 6034000
totalCurrentLiabilities 436539000
propertyPlantEquipment 9135741000
totalCurrentAssets 212758000
longTermInvestments 2990000
netTangibleAssets 6740732000
netReceivables 201288000
longTermDebt 1406586000
accountsPayable 396127000
otherCurrentAssets NAN
附言DF被转置。
预期结果是最后三位数字('000')从所有列中删除,尽管有 NAN 列
并保持结束日期不变:
endDate 1483142400
如果NAN
不是np.nan
,可以使用df.replace
替换它们。
发布其中,我使用 df.columns = ['A','B']
将列重命名为 A,B
然后你可以使用 floordiv() 做下面的事情,这是一个内置函数:
df.B.update(df[df.A!='endDate']['B'].floordiv(1000))
这将删除除 endDate 行之外的最后 3 个零,并更新相应索引中的列 B。
或者,您也可以使用 //
删除最后 3 个零,如下所示:
df.B.update(df[df.A!='endDate']['B'] // 1000)