用 PyCharm 玩转正 Pandas:从数据小白到表格高手的一天
目录
一、先搞定 "安装" 和 "导入":PyCharm 终端里的小技巧
二、数据结构:Series 像列,DataFrame 像表,终于搞懂了
四、读数据和看数据:head/tail/info 三连,表格状况全掌握
今天上了 Pandas 的课,原本以为会是枯燥的函数背诵,没想到用 PyCharm 实操起来还挺有意思。从对着 PPT 发懵到能自己处理表格数据,中间踩了几个小坑,但成就感是真的强。这篇就聊聊我今天学的重点,全是在 PyCharm 里敲代码试出来的干货,新手朋友可以直接抄作业~
一、先搞定 "安装" 和 "导入":PyCharm 终端里的小技巧
上课第一件事就是装 Pandas,老师说用pip install pandas就行,但我在 PyCharm 的 Terminal 里试了下,速度慢得像蜗牛。后来想起老师提的清华源,改成pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple,秒下完!原来换源这么香,PyCharm 的终端和系统 cmd 不一样,在这里输命令直接关联当前项目环境,不用纠结装到哪个 Python 版本里,这点对新手太友好了。
导入的时候记得写import pandas as pd,老师说 "pd" 是约定俗成的缩写,就像数学里用 "x" 代表未知数一样。在 PyCharm 里输pd.的时候,会自动弹出一堆函数提示,不用死记硬背,这点比记事本写代码强一百倍。
二、数据结构:Series 像列,DataFrame 像表,终于搞懂了
刚开始分不清 Series 和 DataFrame,对着 PPT 里的定义绕了半天。后来在 PyCharm 里建了两个例子,瞬间明白了:
Series就像 Excel 里的一列数据,有索引有值。我用同学的成绩试了试:pd.Series([90,85,95], index=['小孙','小张','小韩']),运行后 PyCharm 显示的结果里,左边是名字(索引),右边是分数,一目了然。
DataFrame则是一整张表,有行有列。我用课堂练习里的成绩表试了试,用字典创建:data={'语文':[90,75,55], '数学':[80,65,66]},再pd.DataFrame(data, index=['小孙','小张','小韩']),PyCharm 里直接显示出表格,和 Excel 长太像了,难怪老师说它是 "Python 里的 Excel"。
踩了个小坑:创建 DataFrame 时加了dtype=float,结果字符串列报错(比如包含名字的时候)。后来才知道,dtype 是强制所有列类型,混了字符串和数字就会冲突,删掉这个参数让 Pandas 自动判断就好,PyCharm 的红色报错提示得很清楚。
三、查数据用 loc:像查字典一样方便
老师说 loc 是 "定位神器",试了之后确实好用。比如我想查小孙的语文成绩,在 PyCharm 里敲df.loc['小孙','语文'],直接出结果 90,比在 Excel 里点来点去快多了。
如果想查多行多列,用列表包起来就行:df.loc[['小孙','小张'], ['语文','数学']],PyCharm 会把这部分数据单独列出来,清晰得很。最妙的是可以自定义索引,比如把行索引设为 "男生"、"女生",查的时候直接用loc['男生'],比记数字索引好记一万倍。
四、读数据和看数据:head/tail/info 三连,表格状况全掌握
读 CSV 文件的时候,老师用了pd.read_csv('成绩表.csv'),我把文件和代码放同一个文件夹,PyCharm 直接就能读到。如果路径不对,它会报FileNotFoundError,这点比 Excel 的 "找不到文件" 提示清楚多了。
想看数据全貌?这三个函数必用:
df.head(3):看前 3 行,快速了解表格长啥样;
df.tail():默认看后 5 行,检查有没有脏数据;
df.info():这个最实用!能看到每列有多少非空值、数据类型,比如我发现 "英语_平时" 列有 1 个缺失值,后面处理丢失数据就有了方向。
在 PyCharm 里右键df选择 "View as DataFrame",还能像 Excel 一样可视化浏览,滚动查看特别方便,比打印出来看舒服多了。
五、处理丢失数据:从慌到稳,就靠这三招
PPT 里说 "真实数据总有坑",果然,练习里的成绩表有几个空值。老师讲了三种处理方法,在 PyCharm 里试了个遍:
找缺失值:df.isnull(),结果里 True 的地方就是空值,PyCharm 里显示的布尔值表格很直观;
删缺失值:df.dropna(),直接删掉有空值的行,但要注意如果重要数据多,删了可惜;
填缺失值:df.fillna(0)用 0 填,或者用均值df['数学'].fillna(df['数学'].mean())。我用均值填了数学的空值,PyCharm 里运行后,空的地方真的变成了平均值,太神奇了!
遇到个警告:用fillna(inplace=True)的时候,PyCharm 提示未来版本可能失效。查了 PPT 里的解决方法,改成df['数学'] = df['数学'].fillna(...)就好了,原来直接赋值更稳妥。
六、实战:用今天学的函数搞定课堂练习
最后用课堂练习检验了下:计算最终成绩(考试 60%+ 平时 40%)、平均分、最高分。在 PyCharm 里一步步敲,居然全做出来了:
算最终成绩:df['语文_最终'] = df['语文_考试']*0.6 + df['语文_平时']*0.4,用了 DataFrame 的列运算,不用一行行算,太爽了;
个人平均分:df.mean(axis=1),axis=1 是按行算,每个同学的平均分直接出来;
科目最高分:df[['语文_最终','数学_最终']].max(),一下子就知道哪科最高分是谁。
运行完在 PyCharm 里看结果,和手动算的一模一样,成就感直接拉满!
七、总结:PyCharm+Pandas,数据处理真不难
以前觉得数据分析很高大上,今天实操后发现,只要把函数和工具用对了,新手也能很快上手。PyCharm 的自动提示和报错提示帮了大忙,很多问题不用查百度,看提示就知道错在哪。
明天打算试试处理更大的表格,比如全班 50 人的成绩,看看 Pandas 能不能 hold 住。感觉学会这招,以后做统计作业能省不少时间~你们学 Pandas 的时候有啥坑?评论区交流下呗!
更多推荐



所有评论(0)