首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据pandas中的条件,将列名列表作为新列返回

在pandas中,可以使用条件来选择数据,并将选择的列名列表作为新列返回。具体步骤如下:

  1. 导入pandas库:首先需要导入pandas库,可以使用以下代码实现:
代码语言:txt
复制
import pandas as pd
  1. 创建数据框:接下来,需要创建一个包含数据的数据框。可以使用以下代码创建一个示例数据框:
代码语言:txt
复制
data = {'Name': ['John', 'Emma', 'Mike', 'Emily'],
        'Age': [25, 30, 35, 28],
        'Gender': ['Male', 'Female', 'Male', 'Female']}
df = pd.DataFrame(data)
  1. 使用条件选择数据:使用条件选择数据可以使用pandas的条件语句,例如,选择年龄大于30的数据可以使用以下代码:
代码语言:txt
复制
condition = df['Age'] > 30
selected_data = df[condition]
  1. 将选择的列名列表作为新列返回:要将选择的列名列表作为新列返回,可以使用以下代码:
代码语言:txt
复制
selected_columns = ['Name', 'Age']
new_df = df[selected_columns]

完整的代码示例如下:

代码语言:txt
复制
import pandas as pd

data = {'Name': ['John', 'Emma', 'Mike', 'Emily'],
        'Age': [25, 30, 35, 28],
        'Gender': ['Male', 'Female', 'Male', 'Female']}
df = pd.DataFrame(data)

condition = df['Age'] > 30
selected_data = df[condition]

selected_columns = ['Name', 'Age']
new_df = df[selected_columns]

在上述代码中,根据条件选择了年龄大于30的数据,并将选择的列名列表['Name', 'Age']作为新列返回。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用过Excel,就会获取pandas数据框架值、行和

返回索引列表,在我们例子,它只是整数0、1、2、3。...df.columns 提供(标题)名称列表。 df.shape 显示数据框架维度,在本例为4行5。 图3 使用pandas获取 有几种方法可以在pandas获取。...因为我们用引号字符串(列名)括起来,所以这里也允许使用带空格名称。 图5 获取多 方括号表示法使获得多变得容易。语法类似,但我们字符串列表传递到方括号。...图9 要获得第2行和第4行,以及其中用户姓名、性别和年龄,可以行和列作为两个列表传递,如下图所示。 图10 记住,df[['用户姓名','年龄','性别']]返回一个只有三数据框架。...图11 试着获取第3行Harry Poter国家名字。 图12 要获得第2行和第4行,以及其中用户姓名、性别和年龄,可以行和列作为两个列表传递到参数“row”和“column”位置。

19.1K60

python数据分析笔记——数据加载与整理

2、当文件没有标题行时 可以让pandas为其自动分配默认列名。 也可以自己定义列名。 3、某一作为索引,比如使用message做索引。通过index_col参数指定’message’。...4、要将多个做成一个层次化索引,只需传入由列编号或列名组成列表即可。...也可以根据多个键()进行合并,用on传入一个由列名组成列表即可。...(2)‘长格式’旋转为‘宽格式’ 2、转换数据 (1)数据替换,某一值或多个值用值进行代替。(比较常用是缺失值或异常值处理,缺失值一般都用NULL、NAN标记,可以用值代替缺失标记值)。...也可以使用字典形式来进行替换。 (2)离散化或面元划分,即根据某一条件数据进行分组。 利用pd.cut()方式对一组年龄进行分组。 默认情况下,cut对分组条件左边是开着状态,右边是闭合状态。

6.1K80
  • 对比Excel,更强大Python pandas筛选

    fr=aladdin')[1] 按单个条件筛选数据框架 从世界500强列表中选择公司,我们可以使用.loc[]来实现。注意,这里使用是方括号而不是括号()。...如果不需要数据框架所有,只需将所需列名传递到.loc[]即可。例如,仅需要选择最新排名、公司名称和营业收入,我们可以执行以下操作。注意,它只返回我们指定3。...看看下面的Excel屏幕截图,添加了一个,名为“是否中国”,还使用了一个简单IF公式来评估一行是否“总部所在国家”为中国,该公式返回1或0。实际上,我正在检查每一行值。...当你这个布尔索引传递到df.loc[]时,它将只返回有真值行(即,从Excel筛选中选择1),值为False行将被删除。...在现实生活,我们经常需要根据多个条件进行筛选,接下来,我们介绍如何在pandas中进行一些高级筛选。

    3.9K20

    pandas简单介绍(2)

    3.1 DataFrame构建 DataFrame有多种构建方式,最常见是利用等长度列表或字典构建(例如从excel或txt读取文件就是DataFrame类型)。...另外一个构建方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFrame,pandas会把字典作为,内部字典作为索引。...[列名]进行移除;增加列有两个方法:1,直接frame[列名]=值;2,frame[列名]=Series对象,如果被赋值不存在,会生成一个。...计算两个索引交集 union 计算两个索引并集 delete 位置i元素删除,并产生索引 drop 根据传入参数删除指定索引值,并产生索引 unique 计算索引唯一值序列 is_nuique...不常用特性感兴趣可自行探索。 4.1 重建索引 reindex是pandas对象重要方法,该方法创建一个符合条件对象。

    2.3K10

    python数据科学系列:pandas入门详细教程

    为了沿袭字典访问习惯,还可以用keys()访问标签信息,在series返回index标签,在dataframe返回columns列名;可以用items()访问键值对,但一般用处不大。...或字典(用于重命名行标签和标签) reindex,接收一个序列与已有标签匹配,当原标签不存在相应信息时,填充NAN或者可选填充值 set_index/reset_index,互为逆操作,...自然毫无悬念 dataframe:无法访问单个元素,只能返回、多或多行:单值或多值(多个列名组成列表)访问时按进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....isin/notin,条件范围查询,即根据特定值是否存在于指定列表返回相应结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件结果赋值为NaN或其他指定值,可用于筛选或屏蔽值...例如,以某取值为重整后行标签,以另一取值作为重整后标签,以其他取值作为填充value,即实现了数据表行列重整。

    13.9K20

    Series计算和DataFrame常用属性方法

    Series布尔索引 从Series获取满足某些条件数据,可以使用布尔索引 然后可以手动创建布尔值列表 bool_index = [True,False,False,False,True] scientists...只需要将布尔值作为索引就可以获得对应元素 sci[sci['Age']>age_mean] Series 运算 Series和数值型变量计算时,变量会与Series每个元素逐一进行计算 两个Series...0开始索引 如果提前写好行索引列表,可以用set_index引入进来,也可以直接写入列表内容 加载数据时候,也可以通过通过index_col参数,指定使用某一数据作为行索引 movie2 = pd.read_csv...,再赋值回去 3.通过dataframe[列名]添加 4.使用insert()方法插入列 loc 插入在所有位置(0,1,2,3...) column=列名 value=值 # index...] = '导演' columns[3] = '时长' movie2.columns = columns # 修改后列表命名为数据全部列名

    10610

    Pandas 25 式

    rename()方法改列名是最灵活方式,它参数是字典,字典 Key 是原列名,值是列名,还可以指定轴向(axis)。 ? 这种方式优点是可以重命名任意数量,一、多、所有都可以。...使用 Python 内置 glob 更方便。 ? 把文件名规则传递给 glob(),这里包括通配符,即可返回包含所有合规文件名列表。...不过,用 isin() 方法筛选会更清晰,只要传递电影类型列表就可以了。 ? 如果想反选,可在条件前添加一个波浪符(tilde ~)。 ? 14....这时,要用 agg() 方法,把多个聚合函数列表作为该方法参数。 ? 上列就算出了每个订单总价与订单里产品数量。 19....要解决这个问题得用 transform() 方法,这个方法执行同样计算,但返回与原始数据行数一样输出结果,本例为 4622 行。 ?

    8.4K00

    一文介绍Pandas9种数据访问方式

    导读 Pandas之于日常数据分析工作重要地位不言而喻,而灵活数据访问则是其中一个重要环节。本文旨在讲清Pandas9种数据访问方式,包括范围读取和条件查询等。 ?...通常情况下,[]常用于在DataFrame获取单列、多或多行信息。具体而言: 当在[]中提供单值或多值(多个列名组成列表)访问时按进行查询,单值访问不存在列名歧义时还可直接用属性符号" ...."访问 切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签),包含两端标签结果,无匹配行时返回为空...例如,当标签类型(可通过df.index.dtype查看)为时间类型时,若使用无法隐式转换为时间字符串作为索引切片,则引发报错 ? 切片形式返回行查询,且为范围查询 ?...4. isin,条件范围查询,一般是对某一判断其取值是否在某个可迭代集合。即根据特定值是否存在于指定列表返回相应结果。 5. where,妥妥Pandas仿照SQL实现算子命名。

    3.8K30

    筛选功能(Pandas读书笔记9)

    今天和大家分享如果使用Pandas实现单、多条件筛选、模糊筛选。 还是老套路,我们需要先读取一组数据作为测试文件。...这里两个数字都是闭合,案例[7:11]则选取是第8行至第12行(pandas从0开始编号) 二、提取任意 1、按照列名提取单列 ? 2、按照列名提取多 ?...四、单条件筛选 筛选其实就是符合特殊条件筛选出来,那我们先设立一个小目标!涨跌额为正数筛选出来! 如何判断?无外乎为大于小于等于判断咯! ?...df['涨跌额']是选出涨跌额这一 我们看到使用判断后返回是一个布尔型数据,是一个TRUE和FALSE集合体。 那我们如何这个布尔型数据实现筛选功能呢? ?...我们这个布尔型数据作为一个参数,外面套上原始数据和括号即可!就实现了筛选功能。 原理就是布尔型数据为真的话,罗列出来!

    5.9K61

    Pandas

    进行切片,对行指定要使用索引或者条件,对索引必须使用列名称,如果有多,则还需要借助[]列名称括起来。...='raise') #labels接收单个列名或者多个列名列表或者索引或者行索引。...列名作为列名称为’variable’取值,'value’列为原对应取值一个df。...传入一个函数名组成列表,则会将每一个函数函数名作为返回列名,如果不希望使用函数名作为列名,可以列表元素写成类似’(column_name,function)'元组形式来指定列名为name...()方法 series 相同值看作一个类别,分别返回各个类别的记录数量,即频次,并根据 sort 值决定是否按频次排序。

    9.2K30

    Pandas 秘籍:1~5

    更多 除了insert方法末尾,还可以插入数据帧特定位置。insert方法整数位置作为第一个参数,名称作为第二个参数,并将值作为第三个参数。...如果传递了字符串,它将返回一维序列。 如果列表传递给索引运算符,它将以指定顺序返回列表中所有数据帧。 步骤 2 显示了如何选择单个列作为数据帧而不是序列。...通过名称选择Pandas 数据帧索引运算符默认行为。 步骤 3 根据类型(离散或连续)以及它们数据相似程度,所有列名称整齐地组织到单独列表。...手动排序此秘籍容易受到人为错误影响,因为很容易错误地忘记列表。 步骤 5 通过顺序作为列表传递给索引运算符来完成重新排序。 现在,这个顺序比原来要明智得多。...这在第 3 步得到确认,在第 3 步,结果(没有head方法)返回数据,并且可以根据需要轻松地将其作为附加到数据帧。axis等于1/index其他步骤返回数据行。

    37.5K10

    Pandas用了一年,这3个函数是我最最爱……

    01 assign 在数据分析处理,赋值产生是非常高频应用场景,简单可能是赋值常数列、复杂可能是由一产生另外一个一,对于这种需求pandas有多种方法实现,但个人唯独喜欢assign,...注意事项: assign赋值时,一般用列名=表达式形式,其中新列名为变量形式,所以不加引号(加引号时意味着是字符串); assign返回创建了dataframe,所以需要用dataframe...对象接收返回值; assign不仅可用于创建,也可用于更新已有,此时创建会覆盖原有。...尤其是query也是类似于SQLwhere关键字语法逻辑,用起来会很顺滑。 ? 例如对于以上dataframe,需要根据不同场景查询满足条件记录,调用query实现方式为: ?...注意事项: query也支持inplace参数,控制是否查询过滤条件作用于dataframe本身; 与eval类似,query也支持引用外部函数。

    1.9K30

    (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线

    pdpipe作为专门针对pandas进行流水线化改造模块,为熟悉pandas数据分析人员书写优雅易读代码提供一种简洁思路,本文就将针对pdpipe用法进行介绍。...图5 ColRename:   这个类用于对指定列名进行重命名,其主要参数如下: rename_map:字典,传入旧列名->列名键值对   下面是举例演示: 重命名 # budget重命名为...图6 ColReorder:   这个类用于修改顺序,其主要参数如下: positions:字典,传入列名->下标键值对   下面是举例演示: 修改列位置 # budget从第0挪动为第...图13 2.2.2 col_generation col_generation包含了从原数据中产生若干功能: AggByCols:   这个类用于指定函数作用到指定列上以产生结果...:str型,用于定义结果名称(因为ApplyToRows作用对象是一整行,因此只能形成一返回值),默认为'new_col' follow_column:str型,控制结果插入到指定列名之后,默认为

    1.4K10

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    rename()方法改列名是最灵活方式,它参数是字典,字典 Key 是原列名,值是列名,还可以指定轴向(axis)。 ? 这种方式优点是可以重命名任意数量,一、多、所有都可以。...使用 Python 内置 glob 更方便。 ? 把文件名规则传递给 glob(),这里包括通配符,即可返回包含所有合规文件名列表。...不过,用 isin() 方法筛选会更清晰,只要传递电影类型列表就可以了。 ? 如果想反选,可在条件前添加一个波浪符(tilde ~)。 ? 14....这时,要用 agg() 方法,把多个聚合函数列表作为该方法参数。 ? 上列就算出了每个订单总价与订单里产品数量。 19....要解决这个问题得用 transform() 方法,这个方法执行同样计算,但返回与原始数据行数一样输出结果,本例为 4622 行。 ?

    7.1K20

    高效10个Pandas函数,你都用过吗?

    Insert Insert用于在DataFrame指定位置插入数据。默认情况下是添加到末尾,但可以更改位置参数,添加到任何位置。...,则 loc=0 column: 给插入取名,如 column='' value:值,数字、array、series等都可以 allow_duplicates: 是否允许列名重复,选择...Ture表示允许列名与已存在列名重复 接着用前面的df: 在第三位置插入: #值 new_col = np.random.randn(10) #在第三位置插入,从0开始计算...Where Where用来根据条件替换行或值。如果满足条件,保持原来值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。...) 参数作用: frame:它是指DataFrame id_vars [元组, 列表或ndarray, 可选]:不需要被转换列名,引用用作标识符变量 value_vars [元组, 列表或ndarray

    4.1K20

    利用NumPy和Pandas进行机器学习数据处理与分析

    本篇博客介绍Pandas基本语法,以及如何利用Pandas进行数据处理,从而为机器学习任务打下坚实基础。什么是Series?Series是pandas一维标记数组。...它类似于Python列表或数组,但提供了更多功能和灵活性。我们可以使用Series来存储和操作单个数据。...DataFrame是pandas二维表格数据结构,类似于Excel工作表或数据库表。它由行和组成,每可以有不同数据类型。...字典键表示列名,对应值是列表类型,表示该数据。我们可以看到DataFrame具有清晰表格结构,并且每个都有相应标签,方便阅读访问和筛选数据我们可以使用索引、标签或条件来访问和筛选数据。...例如,要添加一数据,可以一个Series赋值给DataFrame一个列名# 添加df['Gender'] = ['Male', 'Female', 'Male', 'Female']print

    24720

    案例 | 用pdpipe搭建pandas数据分析流水线

    pdpipe作为专门针对pandas进行流水线化改造模块,为熟悉pandas数据分析人员书写优雅易读代码提供一种简洁思路,本文就将针对pdpipe用法进行介绍。...:   这个类用于修改顺序,其主要参数如下: positions:字典,传入列名->下标键值对 下面是举例演示: 修改列位置 # budget从第0挪动为第3 pdp.ColReorder...: 图13 2.2.2 col_generation col_generation包含了从原数据中产生若干功能: AggByCols:   这个类用于指定函数作用到指定列上以产生结果(...:str型,用于定义结果名称(因为ApplyToRows作用对象是一整行,因此只能形成一返回值),默认为'new_col' follow_column:str型,控制结果插入到指定列名之后,默认为...当columns参数设置为None时,这个参数传入列名列表中指定将不进行哑变量处理,默认为None,即不对任何进行排除 drop_first:bool型或str型,默认为True,这个参数是针对哑变量类似这样情况

    81010

    Pandas read_csv 参数详解

    read_csv 函数具有多个参数,可以根据不同需求进行灵活配置。本文详细介绍 read_csv 函数各个参数及其用法,帮助大家更好地理解和利用这一功能。...index_col: 用作索引列编号或列名。usecols: 返回,可以是列名列表或由索引组成列表。dtype: 字典或列表,指定某些数据类型。...用作行索引列编号或列名index_col参数在使用pandasread_csv函数时用于指定哪一作为DataFrame索引。...如果设置为None(默认值),CSV文件行索引将用作DataFrame索引。如果设置为某个位置(整数)或列名(字符串),则该将被用作DataFrame索引。...在实际应用根据数据特点和处理需求,灵活使用 read_csv 各种参数,可以更轻松、高效地进行数据读取和预处理,为数据分析和建模提供更好基础。

    40210

    Pandas_Study01

    data.loc[:,['一','四','三']] #取出所有行多,就把列名包裹成列表形式。...data.loc[0:5,['一','四','三']] #取出某几行某几列,把行索引和列名传入。...['a', 'c'] # 按标签信息,传入行列标签索引信息 获取具体某个数据 df.iat[1, 2] # 按位置信息,传入行列位置信息,获取具体某个数据 # 新版本pandas df 似乎不能使用...pandas 常用函数 pandas函数 一般会有两种结果,一是copy,即返回一个修改后副本,原有的不变,二是inplace,即在原有基础上直接进行修改。...2. add() 和 append() 方法 add 类似+ 运算,两个series 相加得到结果,append 则是一个series 连接在前一个series后面,类似列表相加。

    19710
    领券