1. DataFrame与Python数据结构互转核心场景
在数据处理和分析工作中,DataFrame与其他Python数据结构之间的转换是每个数据工程师的必备技能。Pandas库作为Python数据分析的事实标准,提供了丰富的API来实现DataFrame与列表、字典、NumPy数组等结构的双向转换。这种转换能力直接影响着数据预处理、特征工程和模型训练等关键环节的效率。
实际项目中常见这样的场景:从数据库读取的原始数据需要转换为DataFrame进行分析,处理后的结果又要转回字典格式供API返回。理解这些转换的底层机制能避免80%的数据格式错误。
2. 基础数据结构转DataFrame
2.1 字典转DataFrame的三种范式
字典是最常见的转DataFrame的原始数据结构,根据字典组织形式不同,转换方式也有差异:
# 方式1:键为列名,值为列数据(最常用)
data_dict = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'city': ['Beijing', 'Shanghai', 'Guangzhou']
}
df1 = pd.DataFrame(data_dict)
# 方式2:键为行索引,值为行数据
data_dict2 = {
0: {'name': 'Alice', 'age': 25},
1: {'name': 'Bob', 'age': 30}
}
df2 = pd.DataFrame.from_dict(data_dict2, orient='index')
# 方式3:字典列表形式
data_list = [
{'name': 'Alice', 'age': 25},
{'name': 'Bob', 'age': 30}
]
df3 = pd.DataFrame(data_list)
类型处理陷阱 :当字典值长度不一致时,Pandas会用NaN填充缺失值,这可能导致意外的数据类型转换。建议先用 pd.api.types.infer_dtype() 检查类型。
2.2 列表/元组转DataFrame的进阶技巧
列表数据转换为DataFrame时,需要特别注意维度处理:
# 一维列表转为单列DataFrame
single_list = [1, 2, 3]
df_col = pd.DataFrame(single_list, columns=['numbers'])
# 二维列表(矩阵形式)
matrix


9万+

被折叠的 条评论
为什么被折叠?



