import pandas as pd
import numpy as np
读取excel数据
df=pd.read_excel(“data/朝阳区药品销售数据.xlsx”)
print(df)
df.rename(columns={“购药时间”:”销售时间”},inplace=True)#对列重新命名
print(df.info())
print(df)
购药时间是字符串类型的日期格式,转换为时间类型格式datetime
from datetime import datetime
print(datetime(2018,10,10))
data 年月日 time 时分秒 timestamp 时间戳
df[‘销售时间’]=pd.to_datetime(df[‘销售时间’])
print(df)
去掉空值,销售时间列升序排列
df.dropna(inplace=True)
df.sort_values(by=’销售时间’,inplace=True)
print(df)
提取购药时间,提取2018.4数据,构DataFrameindex
df.set_index(keys=’销售时间’,inplace=True)
print(df.index)
data=df[‘2018’]
print(data[‘实收金额’].sum().round(2))#2
自己构建5个DatatimeIndex,10D10天
index1=pd.date_range(start=’2010-1-1′,periods=5,freq=’10D’)
print(index1)
import numpy as np
ser_obj=pd.Series(np.arange(5),index=index1)
print(ser_obj)
print(ser_obj.truncate(after=’2010-1-21′))#截断
增加一列为’日销售金额’,日销售金额=销售数量*实收金额
df[‘日销售金额’]=100#赋值100
print(df)
df[‘日销售金额’]=df.loc[:,’销售数量’]*df.loc[:,’实收金额’]
print(df)
删除’应收金额’列数据
df.drop(labels=’应收金额’,axis=1,inplace=True)
print(df)
print(df.shape)
删除’应收金额’第3行数据
df.drop(labels=2,inplace=True)
print(df.shape)
修改社保卡号数据类型,使得数据显示正常
print(df.info())
df.dropna(inplace=True)#所有NaN值进行清洗
df[‘社保卡号’]=df.loc[:,’社保卡号’].astype(‘int64’)
print(df)
查询前100行数据两种方法,连续取值不能间隔
print(df.head(100))
print(df.loc[:100])
print(df[0:8:2])#索引方法取值,0-8每隔两个取一行,可以不连续取值不间隔
print(df[‘商品名称’])# #取得商品名称这列数据
print(df.loc[df[‘销售数量’]>0,:])#取得销售数量大于0的数值
取得商品名称和销售数量这两列
print(df[[‘商品名称’,’销售数量’]])
loc方法实现所有单层索引切片,多层不能,只能针对DataFrame索引名称的切片方法
DataFrame.loc[行索引名称或条件,列索引名称]闭区间(含最后一个值)
使用loc方法获取购药时间所有数据
print(df.loc[: ,’购药时间’])
使用loc方法获取购药时间前面3行数据
print(df.loc[0:2 ,’购药时间’])
使用loc方法获取包括购药时间和商品名称两列的前面3行数据
print(df.loc[0:2 ,[‘购药时间’,’商品名称’]])
取得商品名称’三九感冒灵’的数据
print(df.loc[df.loc[:,’商品名称’]==’三九感冒灵’,:])
data=(df.loc[df.loc[:,’商品名称’]==’三九感冒灵’,:])#赋值给data
print(data)
print(type(data))
data=df.loc[:,’商品名称’]==’三九感冒灵’
print(df.loc[data,:])#取出所有数值[data,:]
print(df.ix[行索引名称或位置或条件,列索引名称或位置])
使用iloc方法获取购药时间所有数据,前闭后开区间不包含,没有条件(不允许
print(df.iloc[: ,0])
使用iloc方法获取购药时间前面3行数据
print(df.iloc[0: 3,0])
使用iloc方法获取包括购药时间和商品名称两列的前面3行数据
print(df.iloc[0: 3,[0,3]])
print(type(df))#df类型
print(df.count()) #查看每一列数据统计数目
print(df.head()) #查看前面5行数据,连续的数据
print(df.head(3))#查看前面3行数据,连续的数据
print(df[0:3])#查看前面3行数据,连续的数据,索引取值
print(df.tail())#查看后5行数据
print(df.info())#查看每一列信息infromation=infro,打印的object代表数据类型
print(df.describe())#查看每一列统计信息,只能计算设置,名称什么的显示为串
dataframe属性
df的形状
print(df.shape)
dataframe索引
print(df.index)
print(df.index.values) #生成ndarray对象
print(df.columns.values) #生成列表
基于二维数组,np.arange(12)生成1-11的1维数组,index=[]columns=list()分别指定行列索引
df1=pd.DataFrame(np.arange(12).reshape(3,4),index=[‘a’,’b’,’c’],columns=list(‘abcd’))
df1.columns=[‘d’,’e’,’f’,’g’]#修改列索引
print(df1)
print(type(df1))
基于字典对象 :键:值,键:值
dict={“A”:[1,2,7,3],’B’:[5,2,4,8],’D’:[8,9,3,2]}
df4=pd.DataFrame(dict)
print(dict)
dict1={“A”:pd.Series([1,2,7,3]),
‘B’:pd.Series([5,2,4,8]),
‘D’:pd.Series([8,9,3,2])}
df3=pd.DataFrame(dict1)
print(df3)
df3.to_csv(‘write_data.csv’)
dict2={“A”
Original: https://blog.csdn.net/weixin_34420941/article/details/112964111
Author: 郁生姜
Title: python dataframe dropna_python DataFrame方法汇总,导入表
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/742289/
转载文章受原作者版权保护。转载请注明原作者出处!