我在 Pandas 中有一个包含日期时间和浮点数据的数据框。
time price1 price2
2018-02-01T00:00:00.000Z 1.4526547885 1.654775563
Run Code Online (Sandbox Code Playgroud)
我需要将列转换为字符串格式,以便 price1 和 price2 列显示最多 4 个小数位的数字,并且时间显示为:01,02,2018 00:00:00
对此的任何线索表示赞赏。谢谢
您可以dt.strftime用于格式化datetimes 然后自定义floats格式:
df['time'] = df['time'].dt.strftime('%Y,%m,%d %H:%M:%S')
cols = ['price1','price2']
df[cols] = df[cols].applymap(lambda x: '{0:.4f}'.format(x))
print (df)
time price1 price2
0 2018,02,01 00:00:00 1.4527 1.6548
Run Code Online (Sandbox Code Playgroud)
您可以使用舍入方法仅显示 4 位小数。并使用 . apply (str) 将其转换为字符串对象
例如:
df["price1"] = df["price1"].round(4).apply(str)
df["price2"] = df["price2"].round(4).apply(str)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17926 次 |
| 最近记录: |