簡體   English   中英

在pandas數據幀中將float轉換為字符串

[英]Converting float to string in pandas dataframe

我在pandas中有一個包含datetime和float數據的數據框。

time                         price1              price2
2018-02-01T00:00:00.000Z     1.4526547885        1.654775563

我需要將列轉換為字符串格式,以便price1和price2列顯示最多4位小數,時間顯示為:01,02,2018 00:00:00

任何領導對此表示贊賞。 謝謝

您可以使用dt.strftime格式化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

您可以使用方法僅顯示4位小數。 並使用。 apply (str)將其轉換為字符串對象

EX

df["price1"] = df["price1"].round(4).apply(str)
df["price2"] = df["price2"].round(4).apply(str)

這應該工作:

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM