Pandas-DataFrame建造术:从奶茶店到数据工厂的奇幻之旅

关注不迷路,点赞走好运!!!


一、数据工厂的魔法原料

想象你经营着"代码の茶"奶茶连锁店🧋,每天面对这些数据挑战:

如何记录各分店的库存?  
怎样分析不同配料的销售趋势?  
能否自动生成采购清单?

DataFrame就是你的数据魔法手册,让我们看看如何用不同材料编织数据魔法!

原材料
建造方式
字典编织法
列表拼接法
外部召唤术

二、字典编织法:奶茶配方的奥秘

2.1 基础配方:键值对应

import pandas as pd

奶茶原料魔法书
magic_recipe = {
    '原料': ['珍珠', '椰果', '布丁', '芋圆'],
    '库存(kg)': [50, 32, 20, 18],
    '单价(元)': [3.5, 2.8, 4.0, 3.2]
}

施展字典转换术
df_recipe = pd.DataFrame(magic_recipe)
print("🍹基础配方表:")
print(df_recipe)

输出结果

   原料  库存(kg)  单价(元)
0  珍珠     50     3.5
1  椰果     32     2.8
2  布丁     20     4.0
3  芋圆     18     3.2

2.2 嵌套魔法:多层配方

分店销售嵌套字典
branch_sales = {
    '北京店': {'珍珠奶茶': 120, '椰果绿茶': 85},
    '上海店': {'布丁拿铁': 95, '芋圆奶盖': 110}
}

展开魔法卷轴
df_sales = pd.DataFrame(branch_sales)
print("\n🏙️分店销售矩阵:")
print(df_sales)

输出

         北京店  上海店
珍珠奶茶   120    NaN
椰果绿茶    85    NaN
布丁拿铁   NaN    95
芋圆奶盖   NaN   110

三、列表拼接法:订单流水线的艺术

3.1 单层流水线

当日订单流水线
order_list = [
    ['20240513_001', '珍珠奶茶', 18],
    ['20240513_002', '椰果绿茶', 15],
    ['20240513_003', '布丁拿铁', 20]
]

组装数据生产线
df_orders = pd.DataFrame(order_list, 
                        columns=['订单号', '品名', '金额'])
print("\n📦当日订单表:")
print(df_orders)

3.2 多维魔方

原始列表
维度转换
横向切片
纵向堆叠
立体拼接
周销售三维数据
weekly_data = [
    [['北京店', 120, 85], ['上海店', 95, 110]],
    [['北京店', 115, 90], ['上海店', 105, 118]]
]

魔方解构术
df_week = pd.DataFrame([item for sublist in weekly_data for item in sublist],
                      columns=['分店', '工作日', '周末'])
print("\n🗓️周销售魔方:")
print(df_week)

四、外部召唤术:数据异次元通道

4.1 CSV时空隧道

从CSV召唤历史数据
df_history = pd.read_csv('sales_history.csv', 
                        parse_dates=['日期'],
                        dtype={'分店': 'category'})
print("\n🕰️历史数据预览:")
print(df_history.head(3))

4.2 Excel魔法卷轴

读取Excel魔法书
with pd.ExcelFile('branch_data.xlsx') as excel:
    df_stock = pd.read_excel(excel, '库存表')
    df_staff = pd.read_excel(excel, '员工表')

print("\n📊库存表结构:")
print(df_stock.info())

五、避坑指南:数据工厂安全手册

常见事故灾难现场应急预案原理剖析
列名失踪KeyError报错检查字典键名一致性字典键对应列名
维度混乱数据错位确认列表结构对齐行列数量匹配
编码幽灵乱码现象指定encoding参数文件编码识别
类型错乱计算异常显式指定dtype自动推断失效

六、终极奥义:智能建造系统

def 智能建造系统(数据源):
    if isinstance(数据源, dict):
        return pd.DataFrame(数据源)
    elif isinstance(数据源, list):
        return pd.DataFrame(数据源, columns=自动检测列名())
    elif isinstance(数据源, str):
        return 文件解析器(数据源)
    
    raise ValueError("未知的魔法材料!")

def 文件解析器(文件路径):
    扩展名 = 文件路径.split('.')[-1]
    return {
        'csv': pd.read_csv,
        'xlsx': pd.read_excel,
        'json': pd.read_json
    }[扩展名](文件路径)

print("\n🤖智能建造演示:")
print(智能建造系统('sales_data.xlsx').head(2))

觉得有用?长按点赞三连击,知识不迷路~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值