python - 在 str 对象上使用 'to_datetime' - 为了更改数据帧列名称

标签 python pandas

这是对 here 提出的问题的后续问题.

我的数据框中有大约 200 个列名,需要转换为日期时间格式。

我最初的想法是创建一个列名称列表,并迭代该列表,在进行过程中转换它们,然后使用此转换名称列表重命名数据帧的列。但从上一个问题来看,我不确定是否可以将 to_datetime 应用于常规字符串元素。所以这个方法行不通。

是否可以使用 to_datetime 轻松转换所有列,或至少转换选定的列?

我在 documentation 中没有看到可供选择的轴:

pandas.to_datetime(arg,errors='raise',dayfirst=False,yearfirst=False,utc=None,box=True,format=None,exact=True,unit=None,infer_datetime_format=False,origin=' unix')[来源]¶

最佳答案

函数to_datetime仅适用于Series(DataFrame的列),因此可能的解决方案是:

df = df.apply(pd.to_datetime)
#alternative
#df = df.apply(lambda x: pd.to_datetime(x))

或者:

for c in df.columns:
    df[c] = pd.to_datetime(df[c])

对于转换列名称:

df.columns = pd.to_datetime(df.columns)

关于python - 在 str 对象上使用 'to_datetime' - 为了更改数据帧列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50020917/

相关文章:

python - 访问全局变量时模块的 __setattr__ 和 __getattr__

Python 2.7 多重处理

python - Python调用Google Logging Library时,如何定义日志文件的位置?

python - 安德鲁斯曲线中的颜色

Python/Pandas - 如果A列等于X或Y,则从B列分配值。如果不是,则分配C列。如何用Python编写?

python - 将从第一个表获取的行值与第二个表的列名匹配,无需循环

python - 从存在的第一个键的字典中获取值

python - 在分层数据框上添加带有 groupby 的列

python - 复杂的 pandas 合并操作

python - pd.get_dummies() 用于具有多索引列的 DataFrame