%%
import numpy as np
import pandas as pd
%%
1.一列转为多列,str.split,已确定拆分结果的列数
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet1′)
tb = df[‘收货地址’].str.split(‘ ‘, expand=True)
df[‘省份’] = tb[0]
df[‘城市’] = tb[1]
pd.Series.str.split()
%%
2.一列转为多列,不确定拆分结果的列数,split和join方法
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet2′)
df_split = df[‘商品信息’].str.split(‘,’, expand=True)
df_re = df.join(df_split)
df_re
%%
3.对元素/列表形式的字段拆分
df = pd.DataFrame({
‘订单ID’: [1, 2, 3, 4],
‘数量和价格’: [[1, 2],
[3, 4],
[5, 6],
[7, 8]]})
df[[‘数量’, ‘价格’]] = df[‘数量和价格’].apply(pd.Series)
%%
4.行列转换
%%
4.1列转为行,stack,将除索引列之外的字段转为最内层的行索引
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet3′)
df = df.set_index(‘门店’)
df = df.stack().reset_index()
df.columns = [‘门店’, ‘产品’, ‘销量’]
%%
4.1行转为列,unstack,将最内层的行索引转为字段
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet4′)
df = df.set_index([‘门店’, ‘品类’])
df = df.unstack()
%%
转为常规DataFrame
df.columns = df.columns.droplevel(0)
df.columns.names = [None]
df = df.reset_index()
%%
4.3行转为列,pivot,透视列,没有聚合功能
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet5′)
df = df.pivot(index=’门店’, columns=’品类’, values=’销量’)
df.columns.names = [None]
df.reset_index()
%%
4.4列转为行,melt,宽表转为长表
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet3′)
df.melt(
位置保持不变的字段
id_vars=’门店’,
转为行的字段
value_vars=[‘手机销量’, ‘电脑销量’],
转为行后新字段的别名
var_name=’品类’,
值列的别名
value_name=’销量’)
%%
5.DataFrame转为字典
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet6′)
先设置索引,作为字典的key
df = df.set_index(‘用户ID’)
dct = df.to_dict()[‘用户姓名’]
dct
%%
6.DataFrame转为列表
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet6′)
lst = df.values.tolist()
lst
%%
7.DataFrame转为元组
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet6′)
元组
tuple()
tup = [tuple(x) for x in df.values]
生成器
(tuple(x) for x in df.values)
%%
8.DataFrame转HTML
df = pd.read_excel(‘./data/demo_05.xlsx’, sheet_name=’Sheet6′)
df.to_html(‘网页.html’, index=False)
%%
Original: https://blog.csdn.net/si6354257/article/details/125213916
Author: 月下代码
Title: pandas 格式转换
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/752312/
转载文章受原作者版权保护。转载请注明原作者出处!