import pandas as pd
导入CSV或者xlsx文件
df = pd.read_csv('name.csv',header=0) #header指定表头
df = pd.read_excel('name.xlsx') #也可以指定表sheetname=1
pd.read_csv('name.csv',sep = ';', encoding = 'gbk',
parse_dates = ['date'],dayfirst = True,index_col = 1
) #sep指定用;号来作为列分隔符,parse_dates将指定列解析为日期,
#dayfirst日的位置在前,index_col设置索引列
#如果处理的字符串中包含中文,那么最好要搞懂所用字符的编码,是gbk/gb2312/gb18030,还是utf-8,否则容易出现乱码
可以输出为xlsx格式和csv格式
df_inner.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
df_inner.to_csv('excel_to_python.csv')
写入csv:
with open('data.csv','w',newline='') as csvfile:
f_csv = csv.writer(csvfile)
f_csv.writerows(data)
pandas创建数据表
df = pd.DataFrame({
"id":[1,2,3,4,5,6], "date":pd.date_range('20130102', periods=6),
"city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
"age":[23,44,54,32,34,32]
},columns =['id','date','city','age'])
print(df)
数据显示如下 :
id date city age
0 1 2013-01-02 Beijing 23
1 2 2013-01-03 SH 44
2 3 2013-01-04 guangzhou 54
3 4 2013-01-05 Shenzhen 32
4 5 2013-01-06 shanghai 34
5 6 2013-01-07 BEIJING 32
s = pd.Series([101,102,103,104]) #用Series创建一个带索引的DataFrame
print(s)
默认会创建整型索引,数据显示如下 :
0 101
1 102
2 103
3 104
dtype: int64
在操作数据之前,先来了解一下pd.DataFrame的数据结构:
dates = pd.date_range('20201219',periods = 3) #创建时间序列
print(dates)
'''DatetimeIndex(['2020-12-19', '2020-12-20', '2020-12-21'],
dtype='datetime64[ns]', freq='D')'''
col = list('ABCDEF') #等于['A', 'B', 'C', 'D'...]
df = pd.DataFrame([[1,2,3,4,5,6],['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],[23,44,54,32,34,32]],index = dates, columns = col)
结果为:
A B C D E F
2020-12-19 1 2 3 4 5 6
2020-12-20 Beijing SH guangzhou Shenzhen shanghai BEIJING
2020-12-21 23 44 54 32 34 32
index是行索引,columns为列头,values为数据值
打开文件CSV,会自动创建index
也可以指定列为索引列:
df.reset_index() #重设索引
df.set_index('date') #设置日期为索引
查看数据表信息
df.head() #默认前5行数据
df.tail() #默认后5行数据
df.index #索引
df.values #数据表的值
df.columns #所有列名
df.shape #查看数据维度
df.info() #数据表基本信息
df.dtypes #每一列数据类型
df['列名'].dtype #某一列的格式
df.isnull() #查看空值,
df['列名'].unique() #查看该列唯一值
df.describe() #全部数据的快速统计汇总