python数据处理——小马初级自用版

import pandas as pd

import numpy as np

from itertools import groupby

#导入文件

data1=pd.read_csv("/Users/yin/Desktop/Test/Test1.csv")

#修改SKU 

s = data1["sku"]

spu=[] 

for row in s:

row = [''.join(list(g)) for k, g in groupby(row, key=lambda x: x.isdigit())]

spu.append(row[0])

spu=pd.DataFrame(spu,columns=["spu"])

spu.to_csv("/Users/yin/Desktop/Test/TestNum3.csv")

data=pd.merge(Test1,TestNum3.csv,letf_index=True,right_index=True)

   #此处采用的是合并两个表格的方法。*其他方法我再想

data1["spu"]= [''.join(list(g)) for k, g in groupby(data1["sku"], key=lambda x: x.isdigit())][0] #有空试一下

更新新方法

for I,rowI in enumerate(data1["spu"]):
    rowI=rowI.strip()
    rowI=["".join(list(g)) for k,g in groupby(rowI,key=lambda x:x.isdigit())]
    data1["spu"][I] = rowI[0]

#处理时间

data1["日期"]=pd.to_datetime(data1["日期"],format="%Y/%m/%d")

data1["年份"] = data1['日期'].dt.year

data1 = data1.set_index("日期")

data1["年份"] = data1['日期'].dt.year   #设置年份列

#筛选时间

data1=data1['2020-05-01':'2021-05-01']

#透视

userRatings = data1.pivot_table(index = ["日期","sku"], values = "sku销售额(元)" ,aggfunc = np.sum)

#data1.to_excel("/Users/yin/Desktop/Test/TestNum3.xlsx")

#导出

userRatings.to_excel("/Users/yin/Desktop/Test/TestNum3.xlsx")

import pandas as pd
import numpy as np
from itertools import groupby

#导入文件
data1=pd.read_csv("/Users/yin/Desktop/Test/Test1.csv")

#插入一列

#修改
s = data1["sku"]
#print(s)

spu=[]
for row in s:
    row = [''.join(list(g)) for k, g in groupby(row, key=lambda x: x.isdigit())]
    spu.append(row[0])

spu=pd.DataFrame(spu,columns=["spu"])


#处理时间
data1["日期"]=pd.to_datetime(data1["日期"],format="%Y/%m/%d")

data1["年份"] = data1['日期'].dt.year

data1 = data1.set_index("日期")

#筛选时间
data1=data1['2020-05-01':'2021-05-01']

#透视
userRatings = data1.pivot_table(index = ["日期","sku"], values = "sku销售额(元)" ,aggfunc = np.sum)
#data1.to_excel("/Users/yin/Desktop/Test/TestNum3.xlsx")

#导出
userRatings.to_excel("/Users/yin/Desktop/Test/TestNum3.xlsx")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值