• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

28 - 转换 - df["列"].apply() - 字段是list转多行

作者:

贺及楼

成为作者

更新日期:2024-10-18 14:30:20

字段是list转多行

介绍apply方法

简单介绍:可以替代python的for循环
详细介绍:Pandas 中的 apply 函数是一个非常强大的工具,它允许你对 DataFrame 的每一行或每一列应用一个函数,并返回一个 Series 或 DataFrame 作为结果。apply 可以用于复杂的数据转换和分析任务,特别是当你需要对数据集中的每个元素执行自定义操作时。

数据

  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"one", "B":"1, 2"}, {"A":"two", "B":"3, 4"}])
A B
0 one 1, 2
1 two 3, 4

整理

  1. df["B"] = df["B"].str.split(",")
A B
0 one [1, 2]
1 two [3, 4]

apply()方法

  1. res = df_data.set_index(['列A', "列B", '列C'])['list字段列名'].apply(pd.Series).stack()
  2. res = df.set_index(['A'])['B'].apply(pd.Series).stack()
  3. # stack() 行转列成列
  4. res = res.reset_index()
A level_1 0
0 one 0 1
1 one 1 2
2 two 0 3
3 two 1 4

apply()方法