# pandas新增数据列(直接赋值、apply、assign、分条件赋值)

# pandas在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析
# 1 直接赋值
# 2 df.apply方法
# 3 df.assig方法
# 4 按条件选择分组分别赋值 import pandas as pd # 0 读取csv数据到dataframe
df = pd.read_csv("beijing_tianqi_2018.csv")
print(df.head()) # 1 直接赋值的方法
# 实例:清理温度列,变成数字类型 # 替换掉温度的后缀
df.loc[:,'bWendu'] = df['bWendu'].str.replace("℃","").astype('int32')
df.loc[:,'yWendu'] = df['yWendu'].str.replace("℃","").astype('int32') # 实例:计算温差
# 注意:df["bWendu"]其实是一个Series,后面的减法返回的是Series
df.loc[:,"wencha"] = df["bWendu"] - df["yWendu"]
print(df.head()) # 2 df.apply方法 # 实例:添加一列温度类型:
# 1 如果最高温度大于33度就是高温
# 2 如果最低温度低于-10度就是低温
# 3 否则就是常温
def get_wendu_type(x):
if x["bWendu"] > 33:
return "高温"
if x["yWendu"] < -10:
return "低温"
else:
return "常温"
# 注意需要设置axis ==1 ,这是series的index是columns
df.loc[:,"wendu_type"] = df.apply(get_wendu_type,axis=1)
# 查看温度类型的计数(高温、低温、常温各有多少天)
print(df["wendu_type"].value_counts()) # 3 df.assign方法
# 实例:将温度从摄氏度变成华氏度 # 可以同时添加多个新的列
df.assign(
yWendu_huashi = lambda x : x['yWendu']*9/5 +32,
bWendu_huashi = lambda x : x['bWendu']*9/5 +32
)
print(df['yWendu_huashi']) # 4 按条件选择分组分别进行赋值
# 按条件选择数据,然后随这部分数据赋值新列
# 实例:高温温差大于10度,则认为温差大 # 先创建空列(这是第一种创建新列的方法)
df['wencha_type'] = ""
df.loc[df["bWendu"]-df["yWendu"] > 10,"wencha_type"] = "温差大"
df.loc[df["bWendu"]-df["yWendu"] <=10,"wencha_type"] = "温差正常" df["wencha_type"].value_counts()

pandas 新增数据列(直接赋值、apply,assign、分条件赋值)的更多相关文章

  1. 5.pandas新增数据列

    有的时候,表格自带的数据根本没有办法满足我们,我们经常会新加一列数据或者对原有的数据进行修改 还是接着上篇文章的数据进行操作 直接赋值 我想算一下每一天的温差 df.loc[:, 'wencha'] ...

  2. Pandas怎样新增数据列

    Pandas怎样新增数据列? 在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析. 直接赋值 df.apply方法 df.assign方法 按条件选择分组分别赋值 0.读取csv ...

  3. Pandas常用操作 - 新增数据列

    初始化测试数据 df = pd.DataFrame({'stu_name': ['Nancy', 'Tony', 'Tim', 'Jack', 'Lucy'], 'stu_age': [17, 16, ...

  4. Layui数据表格/搜索重加载/分条件操作/工具条监听

    <div class="layui-layout layui-layout-admin" style="padding-left: 20px;"> ...

  5. 【转载】C#如何往DataTable中新增一个数据列

    在C#中的Datatable数据变量的操作过程中,有时候我们需要往现有的DataTable中新增一个自定义数据列,该列在原有的DataTable变量中并不存在,属于用户手工自定义新增的数据列,在往Da ...

  6. Pandas中查看列中数据的种类及个数

    Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data ...

  7. 【转载】使用Pandas创建数据透视表

    使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...

  8. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...

  9. Pandas DataFrame数据的增、删、改、查

    Pandas DataFrame数据的增.删.改.查 https://blog.csdn.net/zhangchuang601/article/details/79583551 #删除列 df_2 = ...

随机推荐

  1. Oracle Fetch子句

    Oracle Fetch子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle FETCH子句来限制查询返回的行数. ...

  2. windows 下的定时任务 (原)

    linux 下的定时任务是crontab 以前都是linux的定时任务,这次在windows做了定时任务,简单记录一下(win8 跟 win10为例) windows 2008下的定时任务配置: 控制 ...

  3. foreach(增强for循环)和for的区别

    https://www.cnblogs.com/XiaojianGo/p/7471860.html 首先说一下foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版. 再 ...

  4. 查看Oracle数据库中的执行计划

    1.set autotrace traceonly命令 2.explain plan for命令 1)explain plan for select * from dual; 2)select * f ...

  5. axios的详细用法以及后端接口代理

    安装 使用 npm: $ npm install axios 或者 使用 bower: $ bower install axios 或者直接使用 cdn: <script src="h ...

  6. SpringBoot系列:二、SpringBoot的配置文件

    SpringBoot的配置文件在resources文件夹下 springboot的配置文件支持两种形式的写法,一种是经典的properties另一种是yml yml通过空格缩进的形式来表示对象的层级关 ...

  7. MongoDB 基本命令备忘

    使用admin数据库: use admin 显示数据库: show dbs 创建用户,并制定该用户的角色: db.createUser({user: "root",pwd:&quo ...

  8. 002-使用Spring实现读写分离(MySQL实现主从复制)

    一. 背景 一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大主库,负责写入数据,我们称之为:写库:从库,负责读取数据,我们称之为:读库: 1. 读库和写库的数据一致:2. 写数 ...

  9. Oracle 11g客户端下载地址

    Oracle 11g客户端下载地址: http://www.cr173.com/soft/36349.html

  10. Leaflet

    https://leafletjs.com/ https://github.com/Leaflet/Leaflet