Python 3.x 选择要由其动态列名更改的列值
我有一个带有多个datetime列的dataframe,但它们有不同的格式。我想让他们正常化。但是,各自的列名是动态的,只有一部分是常量,例如,Python 3.x 选择要由其动态列名更改的列值,python-3.x,pandas,Python 3.x,Pandas,我有一个带有多个datetime列的dataframe,但它们有不同的格式。我想让他们正常化。但是,各自的列名是动态的,只有一部分是常量,例如,xxx last updated和yyy updated,其中字符串片段updated始终指示列的类型为datetime 如何将(pd.to\u datetime)动态应用于所有这些列 到目前为止,我在其他线程中找到的所有解决方案都需要指示特定的列名。列名是一个索引,因此您可以像行一样筛选它们 cols_to_update = df.columns[df
xxx last updated
和yyy updated
,其中字符串片段updated
始终指示列的类型为datetime
如何将(pd.to\u datetime)动态应用于所有这些列
到目前为止,我在其他线程中找到的所有解决方案都需要指示特定的列名。列名是一个索引,因此您可以像行一样筛选它们
cols_to_update = df.columns[df.columns.str.contains('updated')]
df[cols_to_update] = df[cols_to_update].apply(pd.to_datetime)
快速细分:
>>> df.columns
Index(['non interesting', 'xxx last updated', 'yyy updated'], dtype='object')
>>> df.columns.str.contains('updated')
array([ False, True, True])
>>> df.columns[df.columns.str.contains('updated')]
Index(['xxx last updated', 'yyy updated'], dtype='object')
你能提供一个你期望的输入和输出的例子吗?很好!谢谢