我知道有几种方法可以将列转换为日期对象,但我正在寻找的是同时格式化其他列的方法.说我有以下数据框:
import pandas as pd
url = "https://raw.github.com/pandas-dev/pandas/master/pandas/tests/data/tips.csv"
df = pd.read_csv(url)
df["date"] = list(range(42005, 42005+len(df)))
Run Code Online (Sandbox Code Playgroud)
我想要实现的是能够使用一些格式打印这些数据,所以我可能会做类似以下的事情:
print(
df
.head(10)
.to_string(
formatters={"total_bill": "${:,.2f}".format,
"tip": "${:,.2f}".format
}
)
)
Run Code Online (Sandbox Code Playgroud)
但我也想在此步骤中格式化日期.我试着在这里寻找我正在寻找的东西,但是日期时间选项看起来似乎不适用于我正在尝试做的事情,而构建自定义选项对我的目标受众来说有点超出范围.
是否可以以简单的方式做到这一点?
bri*_*enb 21
事实证明,一旦你意识到这个功能是如何运作的,那就非常容易了......
print(
df
.head(10)
.to_string(
formatters={"total_bill": "${:,.2f}".format,
"tip": "${:,.2f}".format,
"date": lambda x: "{:%m/%d/%Y}".format(pd.to_datetime(x, unit="D"))
}
)
)
total_bill tip sex smoker day time size date
0 $16.99 $1.01 Female No Sun Dinner 2 02/08/2017
1 $10.34 $1.66 Male No Sun Dinner 3 02/09/2017
2 $21.01 $3.50 Male No Sun Dinner 3 02/10/2017
3 $23.68 $3.31 Male No Sun Dinner 2 02/11/2017
4 $24.59 $3.61 Female No Sun Dinner 4 02/12/2017
5 $25.29 $4.71 Male No Sun Dinner 4 02/13/2017
6 $8.77 $2.00 Male No Sun Dinner 2 02/14/2017
7 $26.88 $3.12 Male No Sun Dinner 4 02/15/2017
8 $15.04 $1.96 Male No Sun Dinner 2 02/16/2017
9 $14.78 $3.23 Male No Sun Dinner 2 02/17/2017
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2504 次 |
| 最近记录: |