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

当Pandas列是列表或集合时,重新映射该列中的值

可以使用apply函数结合lambda表达式来实现。apply函数可以对DataFrame的某一列或某几列进行操作,并将操作的结果返回。

具体步骤如下:

  1. 导入Pandas库:首先需要导入Pandas库,以便使用其中的函数和方法。
代码语言:txt
复制
import pandas as pd
  1. 创建DataFrame:创建一个包含列表或集合的DataFrame。
代码语言:txt
复制
data = {'col1': [['a', 'b'], ['c', 'd'], ['e', 'f']],
        'col2': [1, 2, 3]}
df = pd.DataFrame(data)
  1. 定义映射函数:定义一个函数,用于重新映射列表或集合中的值。
代码语言:txt
复制
def remap_values(value):
    mapping = {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dog', 'e': 'elephant', 'f': 'fox'}
    return [mapping[v] for v in value]
  1. 应用映射函数:使用apply函数结合lambda表达式将映射函数应用到DataFrame的指定列上。
代码语言:txt
复制
df['col1'] = df['col1'].apply(lambda x: remap_values(x))
  1. 查看结果:打印修改后的DataFrame。
代码语言:txt
复制
print(df)

完整代码示例:

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

data = {'col1': [['a', 'b'], ['c', 'd'], ['e', 'f']],
        'col2': [1, 2, 3]}
df = pd.DataFrame(data)

def remap_values(value):
    mapping = {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dog', 'e': 'elephant', 'f': 'fox'}
    return [mapping[v] for v in value]

df['col1'] = df['col1'].apply(lambda x: remap_values(x))

print(df)

输出结果:

代码语言:txt
复制
          col1  col2
0  [apple, banana]     1
1      [cat, dog]     2
2  [elephant, fox]     3

在这个例子中,我们创建了一个包含两列的DataFrame,其中一列是列表。然后我们定义了一个映射函数,将列表中的值重新映射为其他值。最后,我们使用apply函数和lambda表达式将映射函数应用到列表列上,实现了重新映射该列中的值。

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

相关·内容

(数据科学学习手札69)详解pandasmap、apply、applymap、groupby、agg

,用于对单列、多数据进行批量运算分组聚合运算,熟悉这些方法后可极大地提升数据分析效率,也会使得你代码更加地优雅简洁,本文就将针对pandasmap()、apply()、applymap()、...年全美每年对应每个姓名新生儿数据,在jupyterlab读入数据并打印数据一些基本信息以了解我们数据: import pandas as pd #读入数据 data = pd.read_csv...(调用DataFrame.apply()时,apply()在串行过程实际处理每一行数据而不是Series.apply()那样每次处理单个),注意在处理多个时要给apply()添加参数axis...三、聚合类方法   有些时候我们需要像SQL里聚合操作那样将原始数据按照某个某些离散型进行分组再求和、平均数等聚合之后,在pandas中分组运算是一件非常优雅事。...、最大、最小操作,下面用几个简单例子演示其具体使用方式:  ● 聚合Series   在对Series进行聚合时,因为只有1,所以可以不使用字典形式传递参数,直接传入函数名列表即可: #求count

5K60

不再纠结,一文详解pandasmap、apply、applymap、groupby、agg...

首先读入数据,这里使用到全美婴儿姓名数据,包含了1880-2018年全美每年对应每个姓名新生儿数据,在jupyterlab读入数据并打印数据一些基本信息以了解我们数据: import pandas...譬如这里我们编写一个使用到多数据函数用于拼成对于每一行描述性的话,并在apply()用lambda函数传递多个进编写好函数调用DataFrame.apply()时,apply()在串行过程实际处理每一行数据...输出多数据 有些时候我们利用apply()会遇到希望同时输出多数据情况,在apply()同时输出多时实际上返回一个Series,这个Series每个元素与apply()传入函数返回顺序对应元组...三、聚合类方法 有些时候我们需要像SQL里聚合操作那样将原始数据按照某个某些离散型进行分组再求和、平均数等聚合之后,在pandas中分组运算是一件非常优雅事。...下面用几个简单例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1,所以可以不使用字典形式传递参数,直接传入函数名列表即可: #求count最小、最大以及中位数

5K10
  • 不再纠结,一文详解pandasmap、apply、applymap、groupby、agg...

    首先读入数据,这里使用到全美婴儿姓名数据,包含了1880-2018年全美每年对应每个姓名新生儿数据,在jupyterlab读入数据并打印数据一些基本信息以了解我们数据: import pandas...譬如这里我们编写一个使用到多数据函数用于拼成对于每一行描述性的话,并在apply()用lambda函数传递多个进编写好函数调用DataFrame.apply()时,apply()在串行过程实际处理每一行数据...有些时候我们利用apply()会遇到希望同时输出多数据情况,在apply()同时输出多时实际上返回一个Series,这个Series每个元素与apply()传入函数返回顺序对应元组...三、聚合类方法 有些时候我们需要像SQL里聚合操作那样将原始数据按照某个某些离散型进行分组再求和、平均数等聚合之后,在pandas中分组运算是一件非常优雅事。...下面用几个简单例子演示其具体使用方式: 聚合Series 在对Series进行聚合时,因为只有1,所以可以不使用字典形式传递参数,直接传入函数名列表即可: #求count最小、最大以及中位数

    5.3K30

    Pandas内存优化和数据加速读取

    内存优化 一个现象是,在使用pandas进行数据处理时候,加载大数据占用很大内存和时间,甚至有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存时候会占用非常高内存...解决办法pandas 在 0.15 版引入了 Categorials。category 类型在底层使用了int来表示一个,而不是使用原始。...pandas 使用一个单独映射词典将这些int映射到原始。只要一个包含有限合时,这种方法就很有用。...当我们将一转换成 category dtype 时,pandas 就使用最节省空间 int 子类型来表示所有不同。...你可以在此处执行一项非常有用操作预处理,然后将数据存储在已处理表单,以便在需要时使用。但是,如何以正确格式存储数据而无需再次重新处理?

    2.7K20

    Python 数据处理:Pandas使用

    字典键Series索引将会成为DataFrame标 由列表元组组成列表 类似于“二维ndarray" 另一个DataFrame DataFrame索引将会被沿用,除非显式指定了其他索引...---- 2.6 算术运算和数据对齐 Pandas 最重要一个功能,它可以对不同索引对象进行算术运算。在将对象相加时,如果存在不同索引对,则结果索引就是索引对。...Series索引匹配到DataFrame,然后沿着行一直向下广播: print(frame - series) 如果某个索引在DataFrameSeries索引找不到,则参与运算两个对象就会被重新索引以形成并...时,你可能希望根据一个多个进行排序。...后面的频率每个这些相应计数。

    22.7K10

    python数据分析——数据分类汇总与统计

    第一个阶段,pandas对象数据会根据你所提供一个多个键被拆分(split)为多组。拆分操作在对象特定轴上执行。...如果不想接收GroupBy自动给出那些列名,那么如果传入一个由(name,function)元组组成列表,则各元组第一个元素就会用作DataFrame列名(可以将这种二元元组列表看做一个有序映射...具体办法向agg传入一个从列名映射到函数字典: 只有将多个函数应用到至少一时,DataFrame才会拥有层次化 2.3.返回不含行索引聚合数据 到目前为止,所有例聚合数据都有由唯一分组键组成索引...=用于分组列名其他分组键,出现在结果透视表; values = 待聚合名称,默认聚合所有数值; aggfunc =聚合方式,聚合函数函数列表,默认为’mean’,可以是任何对...五、数据采样 Pandasresample()一个对常规时间序列数据重新采样和频率转换便捷方法,可 以对原样本重新处理,其语法格式如下: resample(rule, how=None,

    63410

    如何在 Pandas DataFrame重命名列?

    举例 1)读取movie数据。 movies = pd.read_csv("data/movie.csv") 2)DataFrame重命名方法接收将旧映射到新字典。...还可以使用.rename方法重命名索引,如果字符串,则更有意义。 因此,我们可以将索引设置为movie_title(电影片名),然后将这些映射为新。...列表具有与行和标签相同数量元素时,此赋值有 以下代码就显示了这样一个示例 从CSV文件读取数据,并使用index_col参数告诉Pandas将movie_title用作索引。...在每个Index对象上使用.to_list方法来创建Python标签列表。 在每个列表修改3个,将这3个重新赋值给.index和.column属性。...使用新清除列表,可以将结果重新赋值给.columns属性。假设中有空格和大写字母,此代码将清除它们。

    5.6K20

    (数据科学学习手札97)掌握pandastransform

    一类非常实用方法,通过它我们可以很方便地将某个某些函数处理过程(非聚合)作用在传入数据每一上,从而返回与输入数据形状一致运算结果。   ...本文就将带大家掌握pandas关于transform一些常用使用方式。 ?...图1 2 pandastransform   在pandastransform根据作用对象和场景不同,主要可分为以下几种: 2.1 transform作用于Series   transform...图6 2.2 transform作用于DataFrame   transform作用于整个DataFrame时,实际上就是将传入所有变换函数作用到每一: # 分别对每进行标准化 ( penguins...图8   而且由于作用DataFrame,还可以利用字典以键值对形式,一口气为每一配置单个多个变换函数: # 根据字典为不同配置不同变换函数 ( penguins .loc

    1K30

    掌握pandastransform

    pandas,transform一类非常实用方法,通过它我们可以很方便地将某个某些函数处理过程(非聚合)作用在传入数据每一上,从而返回与输入数据形状一致运算结果。...本文就将带大家掌握pandas关于transform一些常用使用方式。...图1 2 pandastransform 在pandastransform根据作用对象和场景不同,主要可分为以下几种: 2.1 transform作用于Series transform作用于单列...Series时较为简单,以前段时间非常流行「企鹅数据」为例: 图2 我们在读入数据后,对bill_length_mm进行transform变换: 「单个变换函数」 我们可以传入任意非聚合类函数...DataFrame,还可以利用字典以键值对形式,一口气为每一配置单个多个变换函数: # 根据字典为不同配置不同变换函数 ( penguins .loc[:, 'bill_length_mm

    1.6K20

    Python之数据规整化:清理、转换、合并、重塑

    合并数据 pandas.merge可根据一个或者多个不同DataFrame行连接起来。 pandas.concat可以沿着一条轴将多个对象堆叠到一起。...数据风格DataFrame合并操作 2.1 数据合并(merge)连接(jion)运算时通过一个多个键将行链接起来。如果没有指定,merge就会将重叠列名当做键,最好显示指定一下。...索引上合并 DataFrame有merge和join索引合并。 4. 重塑和轴向旋转 有许多用于重新列表格型数据基础运算。这些函数也称作重塑(reshape)轴向旋转(pivot)运算。...unstack:将数据行“旋转”为。 5. 数据转换 5.1 利用函数映射进行数据转换 Seriesmap方法可以接受一个函数含有映射关系字典型对象。...5.2 替换 replace可以由一个带替换组成列表以及一个替换 data.replace([-999,-1000],np.nan) 5.3 重命名轴索引 轴标签也可通函数映射进行转换,从而得到一个新对象轴还可以被就地修改

    3.1K60

    Python开发之Pandas使用

    一、简介 Pandas Python 数据操纵和分析软件包,它是基于Numpy去开发,所以Pandas数据处理速度也很快,而且Numpy有些函数在Pandas也能使用,方法也类似。...Pandas 为 Python 带来了两个新数据结构,即 Pandas Series(可类比于表格某一)和 Pandas DataFrame(可类比于表格)。...dtype来设置数据类型。...(字典可以包含Seriesarrays),或者DataFrame; index索引,输入列表,如果没有设置参数,会默认以0开始往下计数; columns列名,输入列表,如果没有设置参数...删除NaN – df.dropna() dropna()函数还有一个参数how,how = all时,只会删除全部数据都为NaN行。

    2.9K10

    Pandas 秘籍:6~11

    索引在另一重要方面类似于 Python 。 它们(通常)使用哈希表实现从数据帧中选择行时,哈希表访问速度非常快。...使用哈希表实现它们时,索引对象必须不可变,例如字符串,整数元组,就像 Python 字典键一样。...在我们数据分析世界许多输入序列被汇总组合为单个输出时,就会发生汇总。 例如,对一所有求和求其最大应用于单个数据序列常见聚合。 聚合仅获取许多值,然后将其转换为单个。...Pandas 仅验证分组分组对象具有agg方法来执行聚合。 使用此方法一种方法向其传递一个字典,字典将聚合映射到聚合函数,如步骤 2 所示。...但是,如果我们可以将具有连续转换为离散,方法将每个放入一个桶,四舍五入使用其他映射,则将它们分组有意义。 准备 在此秘籍,我们探索航班数据以发现不同旅行距离航空公司分布。

    34K10

    Pandas 秘籍:1~5

    这些参数每一个都可以设置为字典,字典将旧标签映射到它们。 更多 重命名行标签和标签有多种方法。 可以直接将索引和属性重新分配给 Python 列表。...最重要(例如电影标题)位于第一位。 步骤 4 连接所有列名称列表,并验证此新列表是否包含与原始列名称相同。 Python 无序,并且相等语句检查一个每个成员是否另一个成员。...从数据帧调用这些相同方法时,它们会立即对每一执行操作。 准备 在本秘籍,我们将对电影数据探索各种最常见数据帧属性和方法。...在 Pandas ,这几乎总是一个数据帧,序列标量值。 准备 在此秘籍,我们计算移动数据每一所有缺失。...Pandas 还有 NumPy 不提供其他分类数据类型。 转换为category时,Pandas 内部会创建从整数到每个唯一字符串映射。 因此,每个字符串仅需要在内存中保留一次。

    37.5K10

    Pandas Sort:你 Python 数据排序指南

    Pandas 排序方法入门 快速提醒一下,DataFrame一种数据结构,行和都带有标记轴。您可以按行以及行索引对 DataFrame 进行排序。...EPA 燃油经济性数据非常棒,因为它包含许多不同类型信息,您可以对其进行排序上,从文本到数字数据类型。数据总共包含八十三。 要继续,您需要安装pandas Python 库。...注意:在 Pandas ,kind您对多个标签进行排序时会被忽略。 您对具有相同键多条记录进行排序时,稳定排序算法将在排序后保持这些记录原始顺序。...像在前面的示例中一样按排序会重新排序 DataFrame 行,因此索引变得杂乱无章。您过滤 DataFrame 删除添加行时,也会发生这种情况。...这在其他数据集中可能更有用,例如标签对应于一年几个月数据。在这种情况下,按月按升序降序排列数据有意义。 在 Pandas 中排序时处理丢失数据 通常,现实世界数据有很多缺陷。

    14.2K00

    Pandas全景透视:解锁数据科学黄金钥匙

    DataFrame就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可 Series pandas 一种数据结构,可以看作带有标签一维数组。...底层使用C语言:Pandas许多内部操作都是用CythonC语言编写,Cython一种Python,它允许将Python代码转换为C语言代码,从而提高执行效率。...向量化操作:Pandas支持向量化操作,这意味着可以对整个数据执行单个操作,而不是逐行地进行迭代。向量化操作通常比纯Python循环更快,因为它们可以利用底层优化和硬件加速。...了解完这些,接下来,让我们一起探索 Pandas 那些不可或缺常用函数,掌握数据分析关键技能。①.map() 函数用于根据传入字典函数,对 Series 每个元素进行映射转换。...具体来说,map()函数可以接受一个字典一个函数作为参数,然后根据这个字典函数对 Series 每个元素进行映射转换,生成一个新 Series,并返回 Series。

    10510

    浅谈NumPy和Pandas库(一)

    希望能起到抛砖引玉作用,目前处于入门阶段,而且第一次发文,哪里出现错误望大家批评指正。 ? NumPyPython数值计算拓展,它能够帮你处理大量数值数据以及储存大型数据和提取其中信息。...(注:从技术层面讲,NumPy数组与Pyhton列表不同,但像这样在Pyhton列表上执行这些操作,会1以Pyhton数组形式在幕后转换列表,所以这就不需要我们费神啦!)...Pandas数据经常包括在名为数据框架(data frame)结构,数据框架已经标记二维数据结构,可以让你根据需要选择不同类型,类型有字符串(string)、整数(int)、浮点型(float...)布尔(Booles)。...我们还可以在特定列上调用映射多整个数据框架应用映射,这些方法将接受传入一个然后返回一个函数。

    2.3K60

    python对100G以上数据进行排序,都有什么好方法呢

    学习 Pandas排序方法开始练习使用 Python进行基本数据分析好方法。最常见数据分析使用电子表格、SQLpandas 完成。...Pandas 排序方法入门 快速提醒一下,DataFrame一种数据结构,行和都带有标记轴。您可以按行以及行索引对 DataFrame 进行排序。...注意:在 Pandas ,kind您对多个标签进行排序时会被忽略。 您对具有相同键多条记录进行排序时,稳定排序算法将在排序后保持这些记录原始顺序。...像在前面的示例中一样按排序会重新排序 DataFrame 行,因此索引变得杂乱无章。您过滤 DataFrame 删除添加行时,也会发生这种情况。...这在其他数据集中可能更有用,例如标签对应于一年几个月数据。在这种情况下,按月按升序降序排列数据有意义。 在 Pandas 中排序时处理丢失数据 通常,现实世界数据有很多缺陷。

    10K30

    Pandas使用技巧:如何将运行内存占用降低90%!

    pandas 会自动为我们检测数据类型,发现其中有 83 数据数值,78 object。object 指有字符串包含混合数据类型情况。...这是因为这些块为存储 dataframe 实际进行了优化。pandas BlockManager 类则负责保留行列索引与实际块之间映射关系。...pandas 使用一个单独映射词典将这些整型映射到原始。只要一个包含有限合时,这种方法就很有用。...当我们将一转换成 category dtype 时,pandas 就使用最节省空间 int 子类型来表示所有不同。...dow_cat.head().cat.codes 0 4 1 0 2 2 3 1 4 5 dtype: int8 你可以看到每个不同都被分配了一个整型,而现在基本数据类型

    3.6K20

    删除重复,不只Excel,Python pandas更行

    第3行和第4行包含相同用户名,但国家和城市不同。 删除重复 根据你试图实现目标,我们可以使用不同方法删除重复项。最常见两种情况:从整个表删除重复项查找唯一。...如果我们指定inplace=True,那么原始df将替换为新数据框架,并删除重复项。 图5 在列表数据表列查找唯一 有时,我们希望在数据框架列表查找唯一。...数据框架一个表工作表,而pandas Series表/表。换句话说,数据框架由各种系列组成。...当我们对pandas Series对象调用.unique()时,它将返回唯一元素列表。...图8 下面一个示例。 我们pandas Series)包含两个重复,”Mary Jane”和”Jean Grey”。通过将该转换为一个,我们可以有效地删除重复项!

    6K30
    领券