你好,我的用例是我有动态名称的日期时间字段和日期将是一些东西,如unix时间戳。所以每次可以有不同的列名,可以有多个日期字段。那么我怎么能做到这一点?现在,如果我做硬编码的列名,这对我的作品
df['date'] = pandas.to_datetime(df['date'], unit='s')
但我不确定如何为动态名称和多个带有Pandas的字段创建此选项
ki0zmccv1#
正如我在评论中建议的那样,您可以尝试将所有列转换为DatetimeIndex,然后只保留一个转换成功的列。
# Inspired from @mozway, https://stackoverflow.com/a/75106101/15239951 def find_datetime_col(df): mask = df.astype(str).apply(pd.to_datetime, errors='coerce').notna() return mask.mean().idxmax() col = find_datetime_col(df) print(col) # Output Heading 1
输入 Dataframe :
>>> df Heading 1 Heading 2 Heading 3 Heading 4 0 2023-01-01 34 12 34 1 2023-01-02 42 99 42 2 2023-01-03 42 99 42 3 2023-01-04 42 99 42
1条答案
按热度按时间ki0zmccv1#
正如我在评论中建议的那样,您可以尝试将所有列转换为DatetimeIndex,然后只保留一个转换成功的列。
输入 Dataframe :