2024-05-19 07:23:58 发布
网友
我在pandas中有一个包含datetime和float数据的数据帧。
time price1 price2 2018-02-01T00:00:00.000Z 1.4526547885 1.654775563
我需要将列转换为字符串格式,以便price1和price2列显示小数点后4位的数字,时间显示为:01,022018 00:00:00
任何关于这方面的线索都是值得赞赏的。谢谢
这应该有效:
df["price1"] = df["price1"].round(4).astype(str) df["price2"] = df["price2"].round(4).astype(str) df['time'] = df['time'].dt.strftime('%d,%m,%Y %H:%M:%S')
您可以使用round方法仅显示4个小数。并使用.apply(str)将其转换为string对象
例如:
df["price1"] = df["price1"].round(4).apply(str) df["price2"] = df["price2"].round(4).apply(str)
您可以使用^{}来格式化datetimes,然后使用floats的自定义格式:
datetime
float
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
这应该有效:
您可以使用round方法仅显示4个小数。并使用.apply(str)将其转换为string对象
例如:
您可以使用^{} 来格式化
datetime
s,然后使用float
s的自定义格式:相关问题 更多 >
编程相关推荐