转置数据表的行列

直接调用DataFrame对象的T属性来转置行列

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
print(a)
print('--------------')
a = a.T
print(a)

运行结果:

原数据与转置后的对比

Python数据分析-pandas-数据表处理_数据

将数据表转换为树形结构

使用stack()函数将数据表转换为树形结构

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
print(a)
print('--------------')
a = a.stack()
print(a)

运行结果:

Python数据分析-pandas-数据表处理_转置_02

数据表拼接

merge()函数

merge()函数可以根据一个或多个相同的列将不同数据表的行连接起来。

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.merge(a,b)
print(a)

Python数据分析-pandas-数据表处理_转置_03

merge()函数直接依据相同的列标签对数据表进行了合并操作

如果想合并两个表的所有数据,则需要为merge()函数添加参数how,并设置其值为’outer’

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.merge(a,b,how='outer')
print(a)

Python数据分析-pandas-数据表处理_数据分析_04

如果两个表中相同的列标签不止一个,可以利用参数on来指定依据哪一列进行合并操作

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.merge(a,b,on='班级')
print(a)

Python数据分析-pandas-数据表处理_python_05

因为根据班级判断使用出现两个姓名列

可指定多列

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.merge(a,b,on=['姓名','班级'])
print(a)
# print('--------------')

Python数据分析-pandas-数据表处理_可视化_06

concat()函数

concat()函数采用的是全连接数据的方式,直接将两个或多个数据表合并,不需要两表的某些列或索引相同,也可以把数据整合到一起。

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.concat([a,b])
print(a)

Python数据分析-pandas-数据表处理_转置_07

concat()函数中设置参数ignore_index为True

可以重置行标签

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = pd.concat([a,b],ignore_index=True)
print(a)

Python数据分析-pandas-数据表处理_可视化_08

append()函数

将一个或多个数据表中的数据合并到其他数据表中

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
print(b)
print('--------------')
a = a.append(b)
print(a)

Python数据分析-pandas-数据表处理_数据_09

在数据表的末尾追加行数据

import pandas as pd
a = pd.read_excel('test.xlsx',sheet_name=0)
b = pd.read_excel('test.xlsx',sheet_name=1)
print(a)
print('--------------')
a = a.append({'姓名':'a6','班级':'01班','专业':'软件','学费':5000},ignore_index=True)
print(a)

Python数据分析-pandas-数据表处理_可视化_10