gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:02:43 25 4
gpt4 key购买 nike

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

我想知道如何找到其中包含字符串“日期”的所有列并将每列更改为日期时间。

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

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

import pandas as pd

data = {'Name': ['bob','sam','jim'], 'DateOpen': ['1/1/2010','1-1-2010','1/1/2010'], 'DateClose': ['1/1/2010','1-1-2010','1/1/2010'], 'no': [10,11,12]}
df = pd.DataFrame(data)

Date_cols = [col for col in df.columns if 'Date' in col]
print(list(df.columns))
print(Date_cols)

最佳答案

使用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

关于python - 查找所有包含字符串的列名并转换列的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com