pandas 格式转换

%%

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球