python pandas学习记录

import pandas as pd
import numpy as np


loginData = pd.read_excel("login0801.xlsx")
#把空填0
loginData=loginData.fillna(0)
print(loginData.head(10))

loginData=loginData[['user_id','1L','2L','3L','4L','5L','6L','7L']]
#df.sum(axis=0):求和,默认对每一列求和;axis=1表示对每一行求和。
loginData=loginData.set_index('user_id')
loginData['count']=loginData.sum(axis=1) 
print(loginData.head(10))
#显示所有count的统计结果 #print(loginData['count'].value_counts())

 

 

#显示0和7的统计
df0=loginData[loginData['count'].isin([0,7])]
print(df0.shape[0])
#每个月都登录的店铺数
df1=loginData[loginData['count'].isin([7])]
print(df1.shape[0])

#去掉0和7的显示
#df3=loginData[~loginData['count'].isin([0,7])]

import pandas as pd
import numpy as np
import datetime
#查询
loginData = pd.read_excel("login_0729.xls")
#未null补0
loginData=loginData.fillna(0)

# 将数据类型转换为日期类型
loginData['date']=pd.to_datetime(loginData['login_date']).dt.normalize()
# 将date设置为index
loginData=loginData.set_index('date')

#loginData.to_excel("a.xlsx")

#输出2020-06-28到2020-07-28 的数据
#print(loginData.loc['2020-06-28':'2020-07-29'].head(10))

endData=loginData.loc['2020-06-28':'2020-07-29']

#print(endData.head(10))

#根据店铺和时间分组
#shop_data_group=endData.groupby(["shop_id","date"])

#print(shop_data_group.head(10))

#获取对应的用户ID
userData= pd.read_excel("user.xlsx")
userData=userData[['userId','shop_id']]
#参考Excel的vlookup 把a表和b表同shopid数据 b复制到a
df = pd.merge(endData, userData, how='left', on=['shop_id'])


#df.to_excel("a2.xlsx")

#根据店铺和时间分组
df2=df.groupby(["shop_id","date"])

df2.to_excel("a2.xlsx")

#print(df.head(10))
原文地址:https://www.cnblogs.com/lanliying/p/13426590.html