hand
_1_21_32
4
python3.X - 数据分析 - Pandas
共95篇
python3.X - 数据分析 - Pandas
返回栏目
1k
0k
5k
0k
0.1k
0k
2k
3k
1k
1k
0.2k
3k
0k
4k
3k
3k
3k
3k
0.5k
5k
1k
0.3k
3k
4k
7k
2k
7k
0.8k
0.9k
1k
1k
2k
0.4k
0.6k
0.6k
0.5k
0.9k
0.9k
1k
0.9k
1k
0.8k
1k
0.4k
0.4k
0.3k
0.6k
1k
0.9k
1k
1k
1k
0.8k
1k
0.8k
1k
0.7k
0.6k
4k
0.4k
3k
0.7k
0.8k
0.8k
0.2k
2k
1k
0.7k
0.7k
0.4k
0.5k
3k
0.1k
0.7k
0.9k
0.3k
1k
0.4k
0.4k
1k
0.5k
0.1k
0.7k
1k
0k
0.2k
0.7k
0.3k
0k
0k
0.1k
0k
0k
0k
3k
返回python3.X - 数据分析 - Pandas栏目
作者:
贺及楼
成为作者
更新日期:2024-10-18 14:31:04
Pandas 的 explode 函数是用来将一个 DataFrame 中的某个列表或字典类型的列分解(或展开)成多行。这通常用于将列中的每个元素转换为 DataFrame 的一行,从而简化数据处理和分析。
爆炸(Explode)操作的典型应用场景:
当列中包含列表或字典,并且你想要将这些列表或字典中的每个元素转换为 DataFrame 的一行。
在数据预处理阶段,用于将嵌套的数据结构展平成表格形式。
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"one", "B":"1, 2"}, {"A":"two", "B":"3, 4"}])
A | B | |
---|---|---|
0 | one | 1, 2 |
1 | two | 3, 4 |
df["B"] = df["B"].str.split(",")
A | B | |
---|---|---|
0 | one | [1, 2] |
1 | two | [3, 4] |
df["B"] = df["B"].map(eval) # 类型是Object(字符串)要转成list
df = df.explode("B")
## 会自动和其它字段进行笛卡尔积, 也就是自动匹配
A | B | |
---|---|---|
0 | one | 1 |
0 | one | 2 |
1 | two | 3 |
1 | two | 4 |
## 重置索引
df1 = df.reset_index(drop=True)
A | B | |
---|---|---|
0 | one | 1 |
1 | one | 2 |
2 | two | 3 |
3 | two | 4 |
data = data.set_index(['其余的列', '其余的列'])['B'].apply(pd.Series).stack().reset_index()
python3.X - 数据分析 - Pandas
整章节共95节
快分享给你的小伙伴吧 ~