Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 选择要由其动态列名更改的列值_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 选择要由其动态列名更改的列值

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

我有一个带有多个datetime列的dataframe,但它们有不同的格式。我想让他们正常化。但是,各自的列名是动态的,只有一部分是常量,例如,
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')

你能提供一个你期望的输入和输出的例子吗?很好!谢谢