交叉表显示了每个变量的不同类别组合中观察到的频率或计数。通俗地说,就是根据不同列的数据统计了频数
df = pd.DataFrame(
{ 'High': ["高", "高", "高", "中", "中", "中", "低", "低", "低", "高", "低"],
'Weight': ["重", "轻", "中", "中", "轻", "重", "重", "轻", "中", "重", "轻"]
})
df
pd.crosstab(df['High'], df['Weight'])
Weight | 中 | 轻 | 重 |
---|---|---|---|
High | |||
中 | 1 | 1 | 1 |
低 | 1 | 2 | 1 |
高 | 1 | 1 | 2 |
双层crosstab
df = pd.DataFrame(
{ 'High': ["高", "高", "高", "中", "中", "中", "低", "低", "低", "高", "低"],
'Weight': ["重", "轻", "中", "中", "轻", "重", "重", "轻", "中", "重", "轻"],
'Size': ["大", "中", "小", "中", "中", "大", "中", "小", "小", "大", "小"]})
df
High | Weight | Size | |
---|---|---|---|
0 | 高 | 重 | 大 |
1 | 高 | 轻 | 中 |
2 | 高 | 中 | 小 |
3 | 中 | 中 | 中 |
4 | 中 | 轻 | 中 |
5 | 中 | 重 | 大 |
6 | 低 | 重 | 中 |
7 | 低 | 轻 | 小 |
8 | 低 | 中 | 小 |
9 | 高 | 重 | 大 |
10 | 低 | 轻 | 小 |
pd.crosstab(df['High'], [df['Weight'], df['Size']], rownames=['High'], colnames=['Weight', 'Size'])
Weight | 中 | 轻 | 重 | |||
---|---|---|---|---|---|---|
Size | 中 | 小 | 中 | 小 | 中 | 大 |
High | ||||||
中 | 1 | 0 | 1 | 0 | 0 | 1 |
低 | 0 | 1 | 0 | 2 | 1 | 0 |
高 | 0 | 1 | 1 | 0 | 0 | 2 |
另一种 宽表转长表 pd.wide_to_long()
np.random.seed(123)
df = pd.DataFrame({"A1970" : {0 : "a", 1 : "b", 2 : "c"},
"A1980" : {0 : "d", 1 : "e", 2 : "f"},
"B1970" : {0 : 2.5, 1 : 1.2, 2 : .7},
"B1980" : {0 : 3.2, 1 : 1.3, 2 : .1},
"X" : dict(zip(range(3), np.random.randn(3)))
})
df["id"] = df.index
df
A1970 | A1980 | B1970 | B1980 | X | id | |
---|---|---|---|---|---|---|
0 | a | d | 2.5 | 3.2 | -1.085631 | 0 |
1 | b | e | 1.2 | 1.3 | 0.997345 | 1 |
2 | c | f | 0.7 | 0.1 | 0.282978 | 2 |
把id
列用作标识列
pd.wide_to_long(df, ["A", "B"], i="id", j="year")
X | A | B | ||
---|---|---|---|---|
id | year | |||
0 | 1970 | -1.085631 | a | 2.5 |
1 | 1970 | 0.997345 | b | 1.2 |
2 | 1970 | 0.282978 | c | 0.7 |
0 | 1980 | -1.085631 | d | 3.2 |
1 | 1980 | 0.997345 | e | 1.3 |
2 | 1980 | 0.282978 | f | 0.1 |
df = pd.DataFrame({
'famid': [1, 1, 1, 2, 2, 2, 3, 3, 3],
'birth': [1, 2, 3, 1, 2, 3, 1, 2, 3],
'ht1': [2.8, 2.9, 2.2, 2, 1.8, 1.9, 2.2, 2.3, 2.1],
'ht2': [3.4, 3.8, 2.9, 3.2, 2.8, 2.4, 3.3, 3.4, 2.9]
})
df
famid | birth | ht1 | ht2 | |
---|---|---|---|---|
0 | 1 | 1 | 2.8 | 3.4 |
1 | 1 | 2 | 2.9 | 3.8 |
2 | 1 | 3 | 2.2 | 2.9 |
3 | 2 | 1 | 2.0 | 3.2 |
4 | 2 | 2 | 1.8 | 2.8 |
5 | 2 | 3 | 1.9 | 2.4 |
6 | 3 | 1 | 2.2 | 3.3 |
7 | 3 | 2 | 2.3 | 3.4 |
8 | 3 | 3 | 2.1 | 2.9 |
把famid
, birth
两列用作标识列
l = pd.wide_to_long(df, stubnames='ht', i=['famid', 'birth'], j='age')
l
ht | |||
---|---|---|---|
famid | birth | age | |
1 | 1 | 1 | 2.8 |
2 | 3.4 | ||
2 | 1 | 2.9 | |
2 | 3.8 | ||
3 | 1 | 2.2 | |
2 | 2.9 | ||
2 | 1 | 1 | 2.0 |
2 | 3.2 | ||
2 | 1 | 1.8 | |
2 | 2.8 | ||
3 | 1 | 1.9 | |
2 | 2.4 | ||
3 | 1 | 1 | 2.2 |
2 | 3.3 | ||
2 | 1 | 2.3 | |
2 | 3.4 | ||
3 | 1 | 2.1 | |
2 | 2.9 |
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在职场中,当你遇到问题的时候,如果感到无从下手,或者抓不到重点,可能是因为你掌握的思维模型不够多。 一个好用的思维模型, ...
2025-01-06在现代企业中,数据分析师扮演着至关重要的角色。每天都有大量数据涌入,从社交媒体到交易平台,数据以空前的速度和规模生成。面 ...
2025-01-06在职场中,许多言辞并非表面意思那么简单,有时需要听懂背后的“潜台词”。尤其在数据分析的领域里,掌握常用术语就像掌握一门新 ...
2025-01-04在当今信息化社会,数据分析已成为各行各业的核心驱动力。它不仅仅是对数字进行整理与计算,而是在数据的海洋中探寻规律,从而指 ...
2025-01-03又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-03在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-03在数据分析的江湖里,有两个阵营总是争论不休。一派信奉“大即是美”,认为数据越多越好;另一派坚守“小而精”,力挺质量胜于规 ...
2025-01-02数据分析是一个复杂且多维度的过程,从数据收集到分析结果应用,每一步都是对信息的提炼与升华。可视化分析结果,以图表的形式展 ...
2025-01-02在当今的数字化时代,数据分析师扮演着一个至关重要的角色。他们如同现代企业的“解密专家”,通过解析数据为企业提供决策支持。 ...
2025-01-02数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪 ...
2024-12-31数据分析,听起来好像是技术大咖的专属技能,但其实是一项人人都能学会的职场硬核能力!今天,我们来聊聊数据分析的核心流程,拆 ...
2024-12-31提到数据分析,你脑海里可能会浮现出一群“数字控”抱着电脑,在海量数据里疯狂敲代码的画面。但事实是,数据分析并没有你想象的 ...
2024-12-31关于数据分析师是否会成为失业高危职业,近年来的讨论层出不穷。在这个快速变化的时代,技术进步让人既兴奋又不安。今天,我们从 ...
2024-12-30数据分析师在现代企业中扮演着关键角色,他们的工作内容不仅丰富多样,还对企业的决策和发展起着重要的作用。正如一个经验丰富的 ...
2024-12-29数据分析师的能力要求 在当今的数据主导时代,数据分析师的角色变得尤为重要。他们不仅需要具备深厚的技术背景,还需要拥有业务 ...
2024-12-29随着技术的飞速发展与行业的持续变革,不少人心中都存有疑问:到了 2025 年,数据分析师还有前途吗?给你分享一篇阿里P8大佬最近 ...
2024-12-29如何构建数据分析整体框架? 要让数据分析发挥其最大效能,建立一个清晰、完善的整体框架至关重要。今天,就让我们一同深入探讨 ...
2024-12-27AI来了,数分人也可以很省力,今天给大家介绍7个AI+数据分析工具,建议收藏。 01酷表 EXCEL 网址:https://chatexcel.com/ 这是 ...
2024-12-26一个好的数据分析模型不仅能使分析具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。好的数据 ...
2024-12-26当下,AI 的发展堪称狂飙猛进。从 ChatGPT 横空出世到各种大语言模型(LLM)接连上线,似乎每个人的朋友圈都在讨论 AI 会不会“ ...
2024-12-26