大家好,我是皮皮。
一、前言
前几天在Python白银交流群【上海新年人】问了一个Pandas日期数据生成的问题,问题如下:大佬们,有个难度高的新需求,现实生活中也蛮实用的,原始数据和想要的结果是下面这样子,先进先出这样子的表现形式如下:
当然商品不会只有一种,有办法吗?
下面是他的原始代码:
data = [['铅笔','入','60','3.5','京东'],
['钢笔','入','35','5.5','京东'],
['钢笔','出','21','10.9','A公司'],
['铅笔','出','31','5','B公司'],
['铅笔','入','120','3.2','苏宁'],
['钢笔','入','5','6','国美'],
['铅笔','出','88','4','B公司'],
['钢笔','出','10','7','C公司'],
['牙膏','入','150','6.5','苏宁'],
['牙膏','出','110','7','A公司'],
['铅笔','出','20','7','B公司']]
df = pd.DataFrame(data=data,columns=['品名','入/出','数量','单价/元','供应商/购买方'])
df[['数量','单价/元']] = df[['数量','单价/元']].apply(lambda x:x.astype(float)) #数据类型转换
df['日期'] = pd.date_range('2023-11-15',periods=len(df)) #增加日期新列
df = df.take([5,0,1,2,3,4],axis=1) #调整列的位置
二、实现过程
后来【论草莓如何成为冻干莓】给了一个思路和代码如下:这个很简单的,累计减就行。
这个代码还是有点东西的,粉丝一下子没看懂,【论草莓如何成为冻干莓】给简化了一些:
顺利地解决了粉丝的问题。
如果你也有类似这种数据分析的小问题,欢迎随时来交流群学习交流哦,有问必答!
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Pandas数据筛选的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【上海新年人】提出的问题,感谢【论草莓如何成为冻干莓】给出的思路,感谢【莫生气】、【冯诚】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
标签:yyds,粉丝,冻干,Python,代码,钢笔,df,盘点,铅笔 From: https://blog.51cto.com/u_13389043/9230212