我有这个DataFrame:
import pandas as pd
df = pd.DataFrame({'x':["ab", "cd"],'a':[1.1111,2.2222], 'b':[2.2222,3.3333], 'c':[3.3333,4.4444]})
Run Code Online (Sandbox Code Playgroud)
使用忽略字符串元素仅舍入数字元素的简单方法是什么?
我已经阅读了几篇关于SO的讨论并试试这个,但是得到了错误.
import numpy as np
np.round(df) # => AttributeError: 'str' object has no attribute
Run Code Online (Sandbox Code Playgroud)
'RINT'
我想保存DataFrame,如下所示:
pd.DataFrame({'x':["ab", "cd"],'a':[1.11,2.22], 'b':[2.22,3.33], 'c':[3.33,4.44]})
Run Code Online (Sandbox Code Playgroud)
您可以使用df.select_dtypes(include=[np.number])选择DataFrame的数字列,用于np.round舍入数字子DataFrame,并将df.loc这些值分配给原始DataFrame:
df = pd.DataFrame({'x':["ab", "cd"],'a':[1.1111,2.2222], 'b':[2.2222,3.3333],
'c':[3.3333,4.4444]})
tmp = df.select_dtypes(include=[np.number])
df.loc[:, tmp.columns] = np.round(tmp)
Run Code Online (Sandbox Code Playgroud)
产量
a b c x
0 1 2 3 ab
1 2 3 4 cd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1341 次 |
| 最近记录: |