简化点就是,有字段abcdef,我要创建一个g列,g列的值是,如果a是1,b为空,g等于c/e。如果a大于6,b是0,c为当天日期,g等于def乘积。这种判断应该用什么函数啊,找了一天没找到,求大佬帮助,谢谢
3条回答 默认 最新
- ENGineer_zlshuo 2022-01-30 01:06关注
写的好像有点乱啊,如果没看明白,可以留言,或者私信我等我回复
import pandas as pd import time st = time.localtime() # 获得即时的时间(注意st是元组类型,不可改变) # 由于不知道你的日期是哪种类型,我拿以下三种类型为代表演示 today1 = '{}-{:02d}-{}'.format(st[0], st[1], st[2]) # 日期为2022-01-30,为文本字符串类型 today2 = '{}-{:02d}-{} 00:00:00'.format(st[0], st[1], st[2]) # 日期为2022/01/30,为excel默认的日期格式,此处经过特殊处理得到2022-01-30 00:00:00的格式 today3 = '{}{:02d}{}'.format(st[0], st[1], st[2]) # 日期为20220130,在excel默认为数字类型 df = pd.read_excel('test.xlsx', sheet_name='求和') # 读取excel文件,读取对应的sheet,类型为DataFrame(可以理解为数据框) df['g'] = '' # 新增g列,所有值为空 for i in range(0, df.shape[0]): # df.shape[0]是获取df的总行数,同理df.shape[1]是总列数 # df.iloc[a, b]中, a是行,b是列,都从0开始计,因此第一行第一列为df.iloc[0, 0] if df.iloc[i, 0] == 1 and str(df.iloc[i, 1]) == 'nan': # 注意,此处默认为等于数字1,若excel输入的是文本字符1,则改为 == ‘1’;同时,一般==‘nan’代表空值 result = df.iloc[i, 2] / df.iloc[i, 0] df.iloc[i, 6] = result # 将resul赋值给g列 if df.iloc[i, 0] > 6 and df.iloc[i, 1] == 0 and df.iloc[i, 2] == str(today1): # 日期为2022-01-30时,为文本字符串类型,采用str() result = df.iloc[i, 3] * df.iloc[i, 4] * df.iloc[i, 5] df.iloc[i, 6] = result if df.iloc[i, 0] > 6 and df.iloc[i, 1] == 0 and str(df.iloc[i, 2]) == str(today2): # 日期为2022/01/30时,为excel默认的日期格式,特殊处理后,采用str() result = df.iloc[i, 3] * df.iloc[i, 4] * df.iloc[i, 5] df.iloc[i, 6] = result if df.iloc[i, 0] > 6 and df.iloc[i, 1] == 0 and df.iloc[i, 2] == int(today3): # 日期为20220130,在excel默认为数字类型,采用int(),如果为文本,请采用str() result = df.iloc[i, 3] * df.iloc[i, 4] * df.iloc[i, 5] df.iloc[i, 6] = result df.to_excel('result.xlsx', index=False) # 得到结果文件
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 求会做聚类,TCN的朋友有偿线上指导。以下是目前遇到的问题
- ¥100 无网格伽辽金方法研究裂纹扩展的程序
- ¥15 错误于library(org.Hs.eg.db): 不存在叫‘org.Hs.eg.db’这个名称的程序包,如何解决?
- ¥60 求一个图片处理程序,要求将图像大小跟现实生活中的大小按比例联系起来的
- ¥50 求一位精通京东相关开发的专家
- ¥100 求懂行的大ge给小di解答下!
- ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
- ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
- ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
- ¥100 华为手机私有App后台保活