将DataFrame行与另一DataFrame列映射提取列首行,生成列信息概览表
解决DataFrame列概览:添加首行数据及指标
看起来你已经迈出了第一步,生成了包含列名和数据类型的概览表,接下来我们只需要把原DataFrame的首行数据和这些信息整合,再按需添加其他指标就可以了。下面是完整的实现步骤:
1. 基础准备(你的现有代码)
先把我们的基础数据和已有的类型概览表准备好:
import pandas as pd # 原DataFrame data = pd.DataFrame({ 'col_A' : [1,2,3,4], 'col_B' : ["x","xx","xxx","y"]}) # 生成包含列名和数据类型的DataFrame DataTypes = pd.DataFrame(data.dtypes, columns= ["Type"]).reset_index().rename(columns={"index": "Column"})
2. 提取首行数据并整合
我们可以用iloc[0]获取原DataFrame的首行,然后把它转换成和DataTypes结构匹配的DataFrame,再通过列名Column进行合并:
# 提取首行数据,整理成带列名的DataFrame first_row_data = pd.DataFrame(data.iloc[0].reset_index()) first_row_data = first_row_data.rename(columns={"index": "Column", 0: "First Row Value"}) # 合并类型信息和首行数据 overview_df = pd.merge(DataTypes, first_row_data, on="Column", how="left")
3. 添加额外指标(可选)
如果需要添加更多列级指标,比如非空值数量、唯一值数量,直接基于原DataFrame计算后添加到概览表即可:
# 添加非空值计数 overview_df["Non-Null Count"] = data.notna().sum().values # 添加唯一值计数 overview_df["Unique Count"] = data.nunique().values
最终结果
运行完上面的代码后,打印overview_df就能得到完整的列概览表:
Column Type First Row Value Non-Null Count Unique Count 0 col_A int64 1 4 4 1 col_B object x 4 3
这样就得到了一个包含列名、数据类型、首行值以及关键统计指标的概览DataFrame,完全满足你的需求~
内容的提问来源于stack exchange,提问作者A.Papa
相关产品推荐
相关产品推荐

