删除熊猫数据框中列的小数点

Posted

技术标签:

【中文标题】删除熊猫数据框中列的小数点【英文标题】: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'])

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

【问题讨论】:

[你好,这里已经回答过了](***.com/questions/21291259/…) 【参考方案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      +   

【讨论】:

以上是关于删除熊猫数据框中列的小数点的主要内容,如果未能解决你的问题,请参考以下文章

熊猫报告系列是小数时的对象

删除数据框中列的每个因子的异常值

做某事。如果在熊猫数据框中列中的值等于 1

给定列名,数据框中列的平均值

如何更改pyspark数据框中列的顺序?

数据框中列的匹配值