首页 > 编程语言 >Python dataframe 处理记录

Python dataframe 处理记录

时间:2022-09-30 17:44:05浏览次数:45  
标签:03 00 20 记录 Python 09 dataframe 2022 10

1、分组求和
  

import pandas as pd
from datetime import datetime, timedelta

data = pd.DataFrame({
    "company": ["A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A"],
    "salary": [10, 12, 13, 36, 12, 10, 12, 13, 36, 12, 36, 12],
    "age": [3, 1, 1, 1, 1, 2, 2, 1, 3, 1, 11, 4],
    "coll_time": ['2022-09-03 20:30:00', '2022-09-03 20:30:10', '2022-09-03 20:30:20', '2022-09-03 20:30:30',
                  '2022-09-03 20:30:40', '2022-09-03 20:30:50', '2022-09-03 20:31:00', '2022-09-03 20:31:00',
                  '2022-09-03 20:31:10', '2022-09-03 20:31:20', '2022-09-03 20:32:10', '2022-09-03 20:32:40']
})


# 时间格式转化
data['coll_time'] = data['coll_time'].astype('datetime64')
print(data)
# 行时间差
data['time_diff'] = data['coll_time'].diff()
data["time_diff_seconds"] = data[["time_diff"]].apply(lambda x: x["time_diff"].total_seconds(), axis=1)
print(data)
# 均匀切片求值
res = []
for i in range(0, int(len(data)) + 1, 6):
    df_slice = data[i:i + 6]
    v = df_slice['salary'].max()/df_slice['time_diff_seconds'].sum()
    res.append(v)

# 取众数
print('众数', data["time_diff_seconds"].mode().pop(0))

# 分组求和
dtd = data.groupby(['salary']).agg({'time_diff_seconds': 'sum', 'salary': 'max'})
# 两列相乘
dtd["mul"] = dtd[["salary", 'time_diff_seconds']].apply(lambda x: x["salary"] * x["time_diff_seconds"], axis=1)
print(dtd)

  控制台输出

company  salary  age           coll_time
0        A      10    3 2022-09-03 20:30:00
1        A      12    1 2022-09-03 20:30:10
2        A      13    1 2022-09-03 20:30:20
3        A      36    1 2022-09-03 20:30:30
4        A      12    1 2022-09-03 20:30:40
5        A      10    2 2022-09-03 20:30:50
6        A      12    2 2022-09-03 20:31:00
7        A      13    1 2022-09-03 20:31:00
8        A      36    3 2022-09-03 20:31:10
9        A      12    1 2022-09-03 20:31:20
10       A      36   11 2022-09-03 20:32:10
11       A      12    4 2022-09-03 20:32:40
   company  salary  age           coll_time       time_diff  time_diff_seconds
0        A      10    3 2022-09-03 20:30:00             NaT                NaN
1        A      12    1 2022-09-03 20:30:10 0 days 00:00:10               10.0
2        A      13    1 2022-09-03 20:30:20 0 days 00:00:10               10.0
3        A      36    1 2022-09-03 20:30:30 0 days 00:00:10               10.0
4        A      12    1 2022-09-03 20:30:40 0 days 00:00:10               10.0
5        A      10    2 2022-09-03 20:30:50 0 days 00:00:10               10.0
6        A      12    2 2022-09-03 20:31:00 0 days 00:00:10               10.0
7        A      13    1 2022-09-03 20:31:00 0 days 00:00:00                0.0
8        A      36    3 2022-09-03 20:31:10 0 days 00:00:10               10.0
9        A      12    1 2022-09-03 20:31:20 0 days 00:00:10               10.0
10       A      36   11 2022-09-03 20:32:10 0 days 00:00:50               50.0
11       A      12    4 2022-09-03 20:32:40 0 days 00:00:30               30.0
众数 10.0
        time_diff_seconds  salary     mul
salary                                   
10                   10.0      10   100.0
12                   70.0      12   840.0
13                   10.0      13   130.0
36                   70.0      36  2520.0

  

标签:03,00,20,记录,Python,09,dataframe,2022,10
From: https://www.cnblogs.com/irobotzz/p/16745676.html

相关文章

  • 使用 Python 进行超参数调优:第 2 部分
    使用Python进行超参数调优:第2部分执行部分!Photoby安德里克·兰菲尔德on不飞溅在里面第一部分在本系列博文中,我们讨论了很多与您在进行超参数调优实验之前......
  • Python基础8
    今日内容概要字典相关操作元祖相关操作集合相关操作字符编码(理论)今日内容详细字典相关操作类型转换#格式dict(其他数据类型)字典的转换一般不使用......
  • python从入门到报废学习线路规划
    计算机基础计算机基础之编程计算机组成原理计算机操作系统编程语言分类Python解释器和集成环境-解释器:3.10-pycharm,vscode-配置清华源:第三方模块,国外Python基......
  • iMazing传输 iPhone 备忘录和通话记录功能
    对于经常需要进行客户联系的业务员来说,通过整理通话记录,能够统计到拜访客户的次数、效果等数据。如果是通过手动统计的方式,将耗费大量的时间与精力。iMazing为苹果设备用户......
  • 【Atlas】记录一次平台访问Post数据到阿里云概率性 失败的问题排查
    背景2周前,对阿里云上的web服务增加了HTTPS的支持,原因是Google对于安全的验证需求导致请求经常挂掉,页面无数据或者整个页面被白屏的问题;然后做好变更后,开发人员就离......
  • Python制作自动答题脚本,100%准确率,1秒10题提高效率
    前言环境使用Python3.8Pycharm模块使用importrequests—>数据请求模块pipinstallrequestsimportparsel—>数据解析模块pipinstallparselfr......
  • python exe打包后无法执行定时任务(apscheduler框架)
    问题:在代码中使用了apscheduler框架,importtzlocalscheduler=BackgroundScheduler(executors=executors,job_defaults=job_defaults,timezone=str(tzlocal.get_local......
  • Python学习(二)PyCharm安装
    一、网站​​https://www.jetbrains.com/pycharm/​​二、PyCharm安装一种PythonIDE(IntegratedDevelopmentEnvironment,集成开发环境),带有一整套可以帮助用户在使用Python......
  • python sklearn 模型的保存与读取
    下载保存模块pipinstalljoblib导入模块import joblib保存模型joblib.dump(model,"model.joblib",compress=1)读取模型#加载模型文件,生成模型对象new_model=......
  • 力扣500(java&python)-键盘行(简单)
    题目:给你一个字符串数组words,只返回可以使用在美式键盘同一行的字母打印出来的单词。键盘如下图所示。美式键盘中:第一行由字符"qwertyuiop"组成。第二行由字符"......