python - 将带有时间戳的 Pandas 数据框转换为字符串

标签 python pandas dataframe

将带有时间戳的 pandas 系列转换为字符串非常简单,例如:

dateSfromPandas = dfC['Date324'].dt.strftime('%Y/%m/%d')

但是如何转换所有列都是日期的大型 pandas Dataframe。以上不适用于:

dateSfromPandas = dfC.dt.strftime('%Y/%m/%d')

最佳答案

你可以使用apply:

dateSfromPandas = dfC.apply(lambda x: x.dt.strftime('%Y/%m/%d'))

示例:

dfC = pd.DataFrame({'a': pd.date_range('2016-01-01', periods=10),
                    'b': pd.date_range('2016-10-04', periods=10),
                    'c': pd.date_range('2016-05-06', periods=10)})
print (dfC)
           a          b          c
0 2016-01-01 2016-10-04 2016-05-06
1 2016-01-02 2016-10-05 2016-05-07
2 2016-01-03 2016-10-06 2016-05-08
3 2016-01-04 2016-10-07 2016-05-09
4 2016-01-05 2016-10-08 2016-05-10
5 2016-01-06 2016-10-09 2016-05-11
6 2016-01-07 2016-10-10 2016-05-12
7 2016-01-08 2016-10-11 2016-05-13
8 2016-01-09 2016-10-12 2016-05-14
9 2016-01-10 2016-10-13 2016-05-15

dateSfromPandas = dfC.apply(lambda x: x.dt.strftime('%Y/%m/%d'))
print (dateSfromPandas)
            a           b           c
0  2016/01/01  2016/10/04  2016/05/06
1  2016/01/02  2016/10/05  2016/05/07
2  2016/01/03  2016/10/06  2016/05/08
3  2016/01/04  2016/10/07  2016/05/09
4  2016/01/05  2016/10/08  2016/05/10
5  2016/01/06  2016/10/09  2016/05/11
6  2016/01/07  2016/10/10  2016/05/12
7  2016/01/08  2016/10/11  2016/05/13
8  2016/01/09  2016/10/12  2016/05/14
9  2016/01/10  2016/10/13  2016/05/15

如果要修改原件,另一种可能的解决方案:

for col in dfC:
    dfC[col] = dfC[col].dt.strftime('%Y/%m/%d')
print (dfC)
            a           b           c
0  2016/01/01  2016/10/04  2016/05/06
1  2016/01/02  2016/10/05  2016/05/07
2  2016/01/03  2016/10/06  2016/05/08
3  2016/01/04  2016/10/07  2016/05/09
4  2016/01/05  2016/10/08  2016/05/10
5  2016/01/06  2016/10/09  2016/05/11
6  2016/01/07  2016/10/10  2016/05/12
7  2016/01/08  2016/10/11  2016/05/13
8  2016/01/09  2016/10/12  2016/05/14
9  2016/01/10  2016/10/13  2016/05/15

关于python - 将带有时间戳的 Pandas 数据框转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931946/

相关文章:

python - 获取与 tkinter 文本小部件关联的所有标签?

python - 如何进一步调试 (win7 64bit, py2.7) 上的 SendKeysCtypes?

Python Pandas - loc 创建 fortran 有序 numpy 数组

python - 根据两列将颜色表示为图例

python - Pandas 无法正确读取 csv

python - 这是在 DataFrame 中设置值的安全方法吗?为什么这有效?

python - 在 Python 中进行 Introsort,有人可以指出我的错误吗?

python - NumPy 索引 - 索引列表的所有成对元素

python - 将 pandas 数据框从宽转为长

python - Pandas 合并无法提取公共(public)索引值