查找包含字符串的所有列名称并转换列的内容

时间:2017-04-27 19:45:20

标签: python loops pandas

我想知道如何找到包含'日期'并将它们更改为日期时间。下面的代码可以将列更改为日期时间,但一次只能更改一个。

我想知道如何找到字符串' Date'在其中并将每列更改为日期时间。

Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/gpu:0
a: /job:localhost/replica:0/task:0/gpu:0
MatMul: /job:localhost/replica:0/task:0/gpu:0
[[ 22.  28.]
 [ 49.  64.]]

此代码创建一个带有两个日期列的df,并列出它们。 如何将每列转换为日期时间而不是仅列出它们?

#data.DATE_cols = pd.to_datetime(data.Date_cols)

1 个答案:

答案 0 :(得分:2)

boolean indexingapply方法结合使用

In [155]: df.loc[:, df.columns.str.contains('Date')] = \
              df.loc[:, df.columns.str.contains('Date')].apply(pd.to_datetime)

In [156]: df
Out[156]:
   DateClose   DateOpen Name  no
0 2010-01-01 2010-01-01  bob  10
1 2010-01-01 2010-01-01  sam  11
2 2010-01-01 2010-01-01  jim  12

In [157]: df.dtypes
Out[157]:
DateClose    datetime64[ns]
DateOpen     datetime64[ns]
Name                 object
no                    int64
dtype: object