繁体   English   中英

我可以有条件地使用熊猫read_csv转换器吗?

[英]Can I use pandas read_csv converter conditionally?

我想知道是否可以根据列的类型有条件地使用转换器。 例如,如果您的数据集由两列组成,其中第一列可以是整数或时间戳,那么如果文件最终具有时间戳列,则能够有条件地使用转换器是很好的,并且如果该列具有整数,则避免调用转换器值。

当数据已经加载时,可以在read_csv之外完成此操作,但效率可能会降低。

read_csv文档指出,您可以使用date_parser参数传递自定义日期解析功能。

因此,您可以执行以下操作:

from datetime import datetime
import pandas as pd
from dateutil.parser import parse


def parse_date_or_ts(data):
    try:
        return parse(data)
    except ValueError:
        # let's assume data is a utc timestamp now
        return datetime.utcfromtimestamp(int(data))

df = pd.read_csv('data.csv',
                 parse_dates={'date': [0]},  # index 0 is our date/ts mixed column
                 date_parser=parse_date_or_ts)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM