pandas选择或添加列生成新的DataFrame操作示例

目录
  • 如何向 pandas.DataFrame 添加新的列或行
  • 选择某些列
  • 选择某些列和行
  • 添加新的列
  • 更改某一列的值
  • 补全缺失值

如何向 pandas.DataFrame 添加新的列或行

通过指定新的列名/行名来添加,或者用pandas.DataFrame的assign()、insert()、append()方法添加等方法。

这里,将描述以下内容。

将列添加到 pandas.DataFrame

  • 通过指定新列名添加
  • 用assign()方法添加/分配
  • 用insert()方法添加到任意位置
  • 使用 concat() 函数水平连接 Series 和 DataFrame

向pandas.DataFrame 添加一行

  • 通过指定新行名称添加
  • 用append()方法添加
  • 使用 concat() 函数垂直连接 Series 和 DataFrame
  • 转置然后使用assign()、insert()方法

选择某些列

import pandas as pd
# 从Excel中读取数据,生成DataFrame数据
# 导入Excel路径和sheet name
df = pd.read_excel(excelName, sheet_name=sheetName)
# 读取某些列,生成新的DataFrame
newDf = pd.DataFrame(df, columns=[column1, column2, column3])

选择某些列和行

# 读取某些列,并根据某个列的值筛选行
newDf = pd.DataFrame(df, columns=[column1, column2, column3])[(df.column1 == value1) & (df.column2 == value2)]

添加新的列

# 第一种直接赋值
df["newColumn"] = newValue
# 第二种用concat组合两个DataFrame
pd.concat([oldDf, newDf])

更改某一列的值

# 第一种,replace
df["column1"] = df["column1"].replace(oldValue, newValue)
# 第二种,map
df["column1"] = df["column1"].map({oldValue: newValue})
# 第三种,loc
# 将column2 中某些行(通过column1中的value1来过滤出来的)的值为value2
df.loc[df["column1"] == value1, "column2"] = value2

补全缺失值

# fillna填充缺失值
df["column1"] = df["column1"].fillna(value1)

以上就是pandas选择或添加列生成新的DataFrame操作示例的详细内容,更多关于pandas生成DataFrame的资料请关注我们其它相关文章!

(0)

相关推荐

  • Pandas-DataFrame知识点汇总

    目录 1.DataFrame的创建 根据字典创建 读取文件 2.DataFrame轴的概念 3.DataFrame一些性质 索引.切片 修改数据 重新索引 丢弃指定轴上的值 算术运算 函数应用和映射 排序和排名 汇总和计算描述统计 处理缺失数据 1.DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值.DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引.DataFrame的创建有多种

  • Pandas实现Dataframe的合并

    目录 简介 使用concat 使用append 使用merge 使用join 覆盖数据 简介 Pandas提供了很多合并Series和Dataframe的强大的功能,通过这些功能可以方便的进行数据分析.本文将会详细讲解如何使用Pandas来合并Series和Dataframe. 使用concat concat是最常用的合并DF的方法,先看下concat的定义: pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None,

  • Pandas实现Dataframe的重排和旋转

    目录 简介 使用Pivot 使用Stack 使用melt 使用Pivot tables 使用crosstab get_dummies 简介 使用Pandas的pivot方法可以将DF进行旋转变换,本文将会详细讲解pivot的秘密. 使用Pivot pivot用来重组DF,使用指定的index,columns和values来对现有的DF进行重构. 看一个Pivot的例子: 通过pivot变化,新的DF使用foo中的值作为index,使用bar的值作为columns,zoo作为对应的value. 再

  • Pandas实现DataFrame的简单运算、统计与排序

    目录 一.运算 二.统计 三.排序 在前面的章节中,我们讨论了Series的计算方法与Pandas的自动对齐功能.不光是Series,DataFrame也是支持运算的,而且还是经常被使用的功能之一. 由于DataFrame的数据结构中包含了多行.多列,所以DataFrame的计算与统计可以是用行数据或者用列数据.为了更方便我们的使用,Pandas为我们提供了常用的计算与统计方法: 操作 方法 操作 方法 求和 sum 最大值 max 求均值 mean 最小值 min 求方差 var 标准差 st

  • 在Pandas DataFrame中插入一列的方法实例

    目录 引言 示例1:插入新列作为第一列 示例2:插入新列作为中间列 示例3:插入新列作为最后一列 补充:按条件选择分组分别赋值 总结 引言 通常,您可能希望在 Pandas DataFrame 中插入一个新列.幸运的是,使用 pandas insert()函数很容易做到这一点,该函数使用以下语法: insert(loc, column, value, allow_duplicates=False) 在哪里: loc: 插入列的索引.第一列是 0. column: 赋予新列的名称. value:

  • pandas选择或添加列生成新的DataFrame操作示例

    目录 如何向 pandas.DataFrame 添加新的列或行 选择某些列 选择某些列和行 添加新的列 更改某一列的值 补全缺失值 如何向 pandas.DataFrame 添加新的列或行 通过指定新的列名/行名来添加,或者用pandas.DataFrame的assign().insert().append()方法添加等方法. 这里,将描述以下内容. 将列添加到 pandas.DataFrame 通过指定新列名添加 用assign()方法添加/分配 用insert()方法添加到任意位置 使用 c

  • pandas使用apply多列生成一列数据的实例

    如下所示: import pandas as pd def my_min(a, b): return min(abs(a),abs(b)) s = pd.Series([10.0247,10.0470, 10.0647,10.0761,15.0800,10.0761,10.0647,10.0470,10.0247,10.0,9.9753,9.9530,9.9353,9.9239,18.92,9.9239,9.9353,9.9530,9.9753,10.0]) df = pd.DataFrame(

  • pandas 选择某几列的方法

    如下所示: col_n = ['名称','收盘价','日期'] a = pd.DataFrame(df,columns = col_n) 以上这篇pandas 选择某几列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • django框架基于模板 生成 excel(xls) 文件操作示例

    本文实例讲述了django框架基于模板 生成 excel(xls) 文件操作.分享给大家供大家参考,具体如下: 生成Excel 文件,很多人会采用一些开源的库来实现,比如python 自带 csv 库可以生成类似Excel  一样的东西,当然还有一些专门处理 excel 的库,我以前也有用过,比如这里: //www.jb51.net/article/163408.htm 我介绍过用第三方的库来实现.但事实上还有另外一种办法,采用模板的方法. 虽然标题写的是利用 django 模板来实现,其实并一

  • PHP图像处理 imagestring添加图片水印与文字水印操作示例

    本文实例讲述了PHP图像处理 imagestring添加图片水印与文字水印操作.分享给大家供大家参考,具体如下: imagestring添加图片水印 <?php header("Content-Type: text/html;charset=utf-8"); //指定图片路径 $src = '001.png'; //获取图片信息 $info = getimagesize($src); //获取图片扩展名 $type = image_type_to_extension($info[

  • pandas通过loc生成新的列方法

    pandas中一个很便捷的使用方法通过loc.iloc.ix等索引方式,这里记录一下: df.loc[条件,新增列] = 赋初始值 如果新增列名为已有列名,则在原来的数据列上改变 import pandas as pd import numpy as np data = pd.DataFrame(np.random.randint(0,100,40).reshape(10,4),columns=list('abcd')) print(data) data.loc[data.d >= 50,'大于

  • pandas DataFrame 根据多列的值做判断,生成新的列值实例

    环境:Python3.6.4 + pandas 0.22 主要是DataFrame.apply函数的应用,如果设置axis参数为1则每次函数每次会取出DataFrame的一行来做处理,如果axis为1则每次取一列. 如代码所示,判断如果城市名中含有ing字段且年份为2016,则新列test值赋为1,否则为0. import numpy as np import pandas as pd data = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'S

  • pandas apply使用多列计算生成新的列实现示例

    在python数据分析中,有时需要根据多列数据生成中间结果,pandas给我们带来了很多方便,通常简短的代码可以实现一些高级功能,灵活掌握一些技巧可以事倍功半 pandas的apply方法用于对指定列的每个元素进行相同的操作,下面生成一个dataFrame用于演示: import pandas as pd a=range(5) b=range(5,10) c=range(10,15) data=pd.DataFrame([a,b,c]).T data.columns=["a",&quo

  • 基于pandas向csv添加新的行和列

    首先创建一个csv文件,创建方式为新建一个文本文档,然后将这个文本文档重命名为test.csv 再用Excel打开,添加内容 内容如下: 先来添加列 data = ['a','b','c'] df['字母'] = data import pandas as pd filename = './test.csv' df = pd.read_csv(filename,encoding='gbk') data = ['a','b','c'] df['字母'] = data df.to_csv(filen

  • Vue+Element实现动态生成新表单并添加验证功能

    首先有一个这样的需求,表单中默认有一个联系人信息,用户可以再添加新的联系人信息 点击添加更多联系人之后 官方文档中有写用v-for来实现新增表单,但是那是单表单的新增,现在多表单的新增,可以考虑的实现方法是先写死一个必须的表单,需要新增的两个表单放在一个div里,在div中使用v-for生成,达到同时新增的效果 代码如下 //必填一个联系人的表单 <el-form-item class="rules" label="通知对象:" prop="noti

随机推荐