python fill_将数据填充到dataframe python(fill data to dataframe python)

这篇博客介绍了如何使用Python中的set_index和reindex方法将数据填充到DataFrame中,并使用fillna填充缺失值,最后通过assign方法设置默认值。示例中展示了如何处理包含02等带有前导零的字符串类型hr列。
摘要由CSDN通过智能技术生成

Here's one way using set_index and reindex

In [4971]: df.set_index('hr').reindex(range(24)).fillna(0).assign(app='DNS').reset_index()

Out[4971]:

hr counts app

0 0 0.0 DNS

1 1 0.0 DNS

2 2 1.0 DNS

3 3 0.0 DNS

4 4 0.0 DNS

5 5 0.0 DNS

6 6 0.0 DNS

7 7 0.0 DNS

8 8 0.0 DNS

9 9 0.0 DNS

10 10 0.0 DNS

11 11 0.0 DNS

12 12 0.0 DNS

13 13 2.0 DNS

14 14 0.0 DNS

15 15 0.0 DNS

16 16 0.0 DNS

17 17 0.0 DNS

18 18 0.0 DNS

19 19 0.0 DNS

20 20 0.0 DNS

21 21 0.0 DNS

22 22 0.0 DNS

23 23 0.0 DNS

Details

In [4954]: df

Out[4954]:

hr counts app

0 2 1 DNS

1 13 2 DNS

Steps

Showing only top 5 rows for brevity

In [4974]: df.set_index('hr&

#模块导入 import pygame,sys from pygame.locals import* #初始化pygame pygame.init() #设置窗口大小,单位是像素 screen = pygame.display.set_mode((500,400)) #设置背景颜色 screen.fill((0,0,0)) #设置窗口标题 pygame.display.set_caption("你好,我的朋友") # 绘制一条线 pygame.draw.rect(screen, (0,0,0), [0,100,70,40]) #加载图片 img = pygame.image.load("panda.jpg") #初始化图片位置 imgx = 0 imgy = 10 #加载和播放音频 sound = pygame.mixer.Sound('Sound_Of_The_Sea.ogg') sound.play() #加载背景音乐 pygame.mixer.music.load('TEST1.mp3') #播放背景音乐,第一个参数为播放的次数(-1表示无限循环),第二个参数是设置播放的起点(单位为秒) pygame.mixer.music.play(-1, 30.0) #导入文字格式 fontt=pygame.font.Font(None,50) #配置文字 tex=fontt.render("It is boring!!!",True,(0,0,128),(0,255,0)) #显示文字及坐标 texr=tex.get_rect() texr.center=(10,250) #初始化方向 dire = "right" #设置循环 while 1: #绘制文字 screen.blit(tex,texr) screen.fill((0,0,0)) screen.blit(img,(imgx,imgy)) if dire == "right": imgx+=5 if imgx == 380: dire = 'down' elif dire == 'down': imgy += 5 if imgy == 300: dire = 'left' elif dire == 'left': imgx -= 5 if imgx == 10: dire = 'up' elif dire == 'up': imgy -= 5 if imgy == 10: dire = 'right' #获取事件 for ss in pygame.event.get(): #判断事件 if ss.type == QUIT: #退出Pygame pygame.quit() #退出系统 sys.exit() #绘制屏幕内容 pygame.display.update() #设置帧率 pygame.time.delay(10)
根据您提供的Python函数,我为您编写了一个MySQL存储过程的示例,但是需要根据您的具体需求进行修改和调整。这个存储过程的功能是向数据表中添加一个名为audit_src_sys_name的列,同时向这个列中填充相应的值。 ``` CREATE PROCEDURE add_audit_columns( IN df_column_names VARCHAR(255), IN df_values VARCHAR(255), IN write_params TEXT, OUT audit_dataframe TEXT ) BEGIN DECLARE audit_source_sys_name VARCHAR(255); DECLARE column_present BOOLEAN; DECLARE sql_stmt TEXT; SET audit_source_sys_name = JSON_EXTRACT(write_params, '$.audit_src_sys_name'); IF audit_source_sys_name IS NULL OR audit_source_sys_name = '' THEN SET audit_source_sys_name = JSON_EXTRACT(write_params, '$.table_full_name'); END IF; SET column_present = FALSE; SET sql_stmt = CONCAT('SELECT COUNT(*) INTO @exists FROM information_schema.columns WHERE table_name = \'', df_column_names, '\' AND column_name = \'audit_src_sys_name\''); PREPARE stmt FROM sql_stmt; EXECUTE stmt; DEALLOCATE PREPARE stmt; IF @exists > 0 THEN SET column_present = TRUE; SET sql_stmt = CONCAT('UPDATE ', df_column_names, ' SET audit_src_sys_name = \'', audit_source_sys_name, '\''); ELSE SET sql_stmt = CONCAT('ALTER TABLE ', df_column_names, ' ADD COLUMN audit_src_sys_name VARCHAR(255) DEFAULT NULL AFTER ', df_values); PREPARE stmt FROM sql_stmt; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; IF column_present THEN SET audit_dataframe = CONCAT('Audit source system name column is present. Adding present layer details....\n'); SET sql_stmt = CONCAT('UPDATE ', df_column_names, ' SET audit_src_sys_name = CONCAT(audit_src_sys_name, \', \', \'', audit_source_sys_name, '\')'); ELSE SET audit_dataframe = CONCAT('Adding column - audit_src_sys_name.\n'); SET sql_stmt = CONCAT('UPDATE ', df_column_names, ' SET audit_src_sys_name = \'', audit_source_sys_name, '\''); END IF; PREPARE stmt FROM sql_stmt; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET audit_dataframe = CONCAT(audit_dataframe, 'Tables is updated.\n'); END ``` 这个存储过程的输入参数包括数据表的列名、值、以及一个JSON格式的字符串write_params,其中包含各种写入参数信息。输出参数是一个JSON格式的字符串audit_dataframe,包含存储过程的执行结果信息。请注意,这只是一个示例,您需要根据实际情况进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值