• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

python数据:pandasExcel表格

武飞扬头像
PHP中文网
帮助19

(一)读取其他文件

1.excel读取其他文件

1.1 导入csv文件

学新通技术网

1.2 导入tsv文件

学新通技术网

1.3 导入txt文本文件

导入txt文件时,注意文本里是以什么符号分隔的,自定义分隔符。

学新通技术网

2.pandas读取其他文件

在pandas中为无论是读取csv文件还是tsv文件亦或者txt文件,都是用read_csv()的方法读取,另外加上sep()参数来分隔。

2.1 读取csv文件

import pandas as pd

# 导入csv文件
test1 = pd.read_csv('./excel/test12.csv',index_col="ID")
df1 = pd.DataFrame(test1)

print(df1)

2.2 读取tsv文件

tab键用\t来表示

import pandas as pd

# 导入tsv文件
test3 = pd.read_csv("./excel/test11.tsv",sep='\t')
df3 = pd.DataFrame(test3)

print(df3)

2.3 读取txt文件

import pandas as pd

# 导入txt文件
test2 = pd.read_csv("./excel/test13.txt",sep='|')
df2 = pd.DataFrame(test2)

print(df2)

结果:
学新通技术网

(二)数据透视表

在excel中存在多种数据,且分为很多类型,这时使用数据透视表就会很方便也很直观的为我们分析出各种我们想要的数据了。
实例:将下列数据绘制成一个透视表,并绘制出按总类分每年的销售额! 学新通技术网

1.在excel中制作透视表

需要按照年份来分,则我们需要将date列拆分,把年份拆分出来。随后在数据栏下选择数据透视表,选择区域即可。
学新通技术网
随后将各部分数据拖动到各区域即可。
学新通技术网

结果:
学新通技术网

这样就在excel中完成了数据透视表的制作。

那么在pandas中要怎么实现这一效果呢?

2.在pandas中绘制透视表

绘制透视表的函数为:df.pivot_lable(index,columns,values),最后将数据求和即可。

import pandas as pd
import numpy as np

pd.options.display.max_columns =999
test = pd.read_excel('./excel/test14.xlsx')
df = pd.DataFrame(test)
# 将年份取出并新建一个列名为年份的列
df['year'] = pd.DatetimeIndex(df['Date']).year
# 绘制透视表
table = df.pivot_table(index='总类',columns='year',values='销售额',aggfunc=np.sum)
df1 = pd.DataFrame(table)
df1['总计'] = df1[[2011,2012,2013,2014]].sum(axis=1)


print(df1)

结果:
学新通技术网

除此之外还可以利用groupby函数来绘制数据表。这里将总类和年份分组求销售总额和销售数量。

import pandas as pd
import numpy as np

pd.options.display.max_columns =999
test = pd.read_excel('./excel/test14.xlsx')
df = pd.DataFrame(test)
# 将年份取出并新建一个列名为年份的列
df['year'] = pd.DatetimeIndex(df['Date']).year

# groupby方法
group = df.groupby(['总类','year'])

s= group['销售额'].sum()
c = group['ID'].count()

table = pd.DataFrame({'sum':s,'total':c})

print(table)

结果:
学新通技术网

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanffbib
系列文章
更多 icon
同类精品
更多 icon
继续加载