【问题标题】:Remove decimal of columns in pandas data frame删除熊猫数据框中列的小数点
【发布时间】:2019-08-12 04:23:09
【问题描述】:

我有一个数据框,例如:

query   qstart  qend    name    number  strand
A       2.0     1064.0  None    0       +
B       2.0     1076.0  None    0       +
C       2.0     1064.0  None    0       +
D       0.0     741.0   None    0       +

我想删除所有小数并得到:

query   qstart  qend    name    number  strand
A       2       1064    None    0       +
B       2       1064    None    0       +
C       2       1064    None    0       +
D       0       741     None    0       +

我试过了:

df['qstart']= round(df['qstart'])
df['qend']= round(df['qend'])

但它不起作用......

【问题讨论】:

标签: python-3.x pandas


【解决方案1】:

试试下面的:

m=(df.dtypes=='float')
df.loc[:,m]=df.loc[:,m].astype(int)
print(df)

  query  qstart  qend  name  number strand
0     A       2  1064  None       0      +
1     B       2  1076  None       0      +
2     C       2  1064  None       0      +
3     D       0   741  None       0      +

【讨论】:

  • 如果它对你有帮助,你应该选择它作为答案,以便其他人在有类似问题时也能得到帮助@chippycentra
【解决方案2】:
df.qend = df.qend.apply(int) # round instead of int is you prefer to round
print (df)

  query  qstart  qend  name  number strand
0     A     2.0  1064  None       0      +
1     B     2.0  1076  None       0      +
2     C     2.0  1064  None       0      +
3     D     0.0   741  None       0      +   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2018-03-15
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多