Python应用实战——盘点一个Python面试编程题(附代码)

liftword3个月前 (02-27)技术文章35

大家好,我是皮皮。

一、前言

前几天在Python奥特曼交流群【。。】问了一个Python面试题的问题,一起来看看吧,图片代码分享版本在这个文章,盘点一个Python面试编程题(Python应用实战)(文末赠书),在里边也可以拿到原始的需求数据。这里应粉丝的要求,分享一个代码版本,手残党福利来了!


二、实现过程

其实上一篇文章,我们已经给大家发布了一个图片版本的代码,不过有粉丝反馈图片太模糊了,手敲又有点懒,这里对照着【宝平】给的代码,给大家分享出来,代码如下:

import pandas as pd
import re
import json


file = "login.txt"
df1 = pd.read_table(file, engine="python", header=None)
df1.columns = ["col1"]
df2 = pd.DataFrame(columns=["日期", "id", "lv"])

k = 0
dic1 = {}
for i in df1.index:
    if "levelup" in df1.at[i, "col1"]:
        k += 1
        # print(df1.at[i, "col1"])
        df2.at[k, "日期"] = df1.at[i, "col1"][1:11]
        # df2.at[k, "日期"] = df1.at[i, "col1"]
        pattern = r"{[^}]+}"
        match = re.search(pattern, df1.at[i, "col1"])
        # print(match)
        if match:
            dic1 = json.loads(match.group())
            # print(dic1)
            df2.at[k, "id"] = dic1["id"]
            df2.at[k, "lv"] = dic1["to_lv"]
# print(df2)
df2.drop_duplicates(subset={"日期", "id"}, keep="last", inplace=True)
print(df2)
df2_grouped = df2.groupby(["日期", "lv"]).size().reset_index(name="Count")
print(df2_grouped)

顺利地解决了粉丝的问题。关键部分在于先对log文件进行遍历,然后判断levelup是否在行中,如果在的话,就进行处理,如果不在的话,就直接pass掉了。针对这个问题,其实需求方已经澄清了,不然会让人误解答案不对。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python面试编程题的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【。。】提问,感谢【宝平】、【刺】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

相关文章

247个Python实战案例:从入门到进阶(含源码)

Python是目前最热门的编程语言之一。由于其可读性和对初学者的友好性,已被广泛使用。那么要想学会并掌握Python,可以实战的练习项目是必不可少的。这247个实战案例让你告别枯燥,60秒学会一个小例...

Python 30 天实战:数据分析实战全流程

在前面的学习中,我们已经分别掌握了 NumPy、Pandas 和 Matplotlib 这三个强大库的基础及部分进阶知识,今天我们将迎来一个综合性的实战练习,通过对真实世界数据集的处理、分析与可视化,...

Python 30 天实战:数据分析初体验

在经历了前面九天的 Python 知识学习之旅后,我们已经掌握了包括数据结构、文件操作、异常处理等多方面的技能。今天,我们将迎来第一个综合练习挑战 —— 利用所学知识对一个简单的数据集进行数据分析,开...

Python怎么高效学习?:从底层技术到实战应用

一、Python编程的“底层”价值在工业领域中,Python不仅仅是一种强大的编程语言,它还是一种底层的技术,能够为复杂的工业问题提供高效的解决方案。与C++或Java相比,Python以其简洁的语言...

30个有趣的Python实战项目(附源码

收集了23个Python中文版速查表PDF,赠送给你,助你学习Python的路上一往无前另外,精选了21张高清彩色Python速查图,赠送给你,助你学习Python的路上所向披靡。...

Python与计算机视觉:OpenCV实战_opencv和计算机视觉

计算机视觉,就是让计算机像人一样“看”世界。OpenCV,一个开源的计算机视觉库,就是咱们今天的主角。它功能强大,支持多种编程语言,Python接口更是简单易用。咱们今天就来瞅瞅OpenCV在Pyth...