账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python判断一列数据大小,对另一列日期进行处理
    112
    0
    python判断订单时间节点列数据大小,大于18则日期加1天,有1千多万行数据,处理起来很慢,请教各位大神怎么优化。def timeadd(n): if n >= 18: return df4['订单日期'] + datetime.timedelta(days=1) else: df4['订单日期']df4['订单日期1'] = df4.apply(lambda x: timeadd(x['订单时间节点']),axis = 1)
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 忽略的感觉很无助 普通会员 1楼

      在Python中,你可以使用内置的range()函数来生成指定长度的日期列表,并使用datetime模块的date类来处理日期数据。以下是一个示例代码,它判断一列数据大小(例如,intfloat类型)并对另一列日期进行处理:

      ```python import datetime

      定义数据列和日期列

      data_column = 'your_data_column' # 你的数据列 date_column = 'your_date_column' # 你的日期列

      判断数据列大小

      data_size = len(data_column) # 数据列的长度,可以是整数或浮点数

      使用range()函数生成日期列表

      date_list = list(range(data_size))

      创建一个空的datetime对象,用于存储日期数据

      date_list = [datetime.datetime.strptime(date, '%Y-%m-%d') for date in date_list]

      检查日期列长度是否与数据列相同

      if date_column == date_list[0]: # 如果日期列和数据列长度相同,对数据列进行处理 print('Data column length matches date column length') else: # 如果日期列长度不与数据列相同,对数据列进行处理 print('Data column length does not match date column length') for date in date_list: # 对日期进行处理,例如,将日期字符串转换为日期对象,或进行其他日期处理操作 print(date) ```

      在这个示例中,我们首先使用len()函数获取数据列的长度,然后使用range()函数生成一个包含数据列长度的日期列表。然后,我们使用列表推导式将日期列表中的每个元素转换为一个datetime对象,其中'%Y-%m-%d'是日期字符串的格式字符串,strptime()函数将日期字符串解析为一个datetime对象。

      然后,我们检查日期列的长度是否与数据列长度相同。如果相同,说明日期列和数据列的长度相同,我们对数据列进行处理。否则,我们对数据列的长度不相同,我们对数据列进行处理。在处理日期数据时,我们可以根据需要对日期进行转换,例如,将日期字符串转换为日期对象,或进行其他日期处理操作。

      注意:这个示例假设你的数据列的日期字符串是以'年-月-日'的格式格式,并且你的日期字符串中的日期部分是有效的,即'年'、'月'和'日'之间没有空格。如果你的日期字符串格式不同,或者你的日期字符串中包含无效的日期部分,你需要修改strptime()函数的格式字符串和日期部分。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部