python - Pandas:如何更改一行值的数据类型?
问题描述
我有以下数据框:
actor Daily Total actor1 actor2
Day
2019-01-01 25 10 15
2019-01-02 30 15 15
Avg 27.5 12.5 15.0
如何将“平均”行的数据类型更改为整数?如何对行中的这些值进行四舍五入?
解决方案
在熊猫中,添加由浮点数填充的新行后,所有列都更改为float
s。
可能的解决方案是round
转换所有列:
df = df.round().astype(int)
或添加新的Series
转换为integer
:
df = df.append(df.mean().rename('Avg').round().astype(int))
print (df)
Daily Total actor1 actor2
actor
2019-01-01 25 10 15
2019-01-02 30 15 15
Avg 28 12 15
如果只想转换行值由整数填充的列:
d = dict.fromkeys(df.columns[df.loc['Avg'] == df.loc['Avg'].astype(int)], 'int')
df = df.astype(d)
print (df)
Daily Total actor1 actor2
actor
2019-01-01 25.0 10.0 15
2019-01-02 30.0 15.0 15
Avg 27.5 12.5 15
推荐阅读
- python - 如何根据两个条件遍历数据框?
- python - 使用 Pandas 跨数据帧的条件替换
- validation - F# - 这是验证和保持两个界限之间的值的好方法吗?
- html - 在角度如何以一种方式修剪值数据绑定
- oracle - Oracle RAC RMAN 备份未写入 NFS 共享
- java - 尝试比较日期时发生异常 - 即使我设置了日期,Nullpointerexception 和 get 方法也返回空值
- reactjs - 如何使用具有 DD/MMM/YYYY 格式或自定义输入字段的材料 UI 选择器 KeyboardDatePicker
- python - 我们如何防止 FASTAPI 中的 html 注入?
- python - 使用任何需要互联网的东西时 Kivy 应用程序崩溃
- apache-flink - 在 Flink SQL 中加入连续查询