Python Pandas基础:DataFrame数据操作详解
摘要:本文介绍了Pandas中的两种主要数据结构Series和DataFrame。重点讲解了DataFrame的创建方法,包括通过字典创建、使用head()函数查看数据、指定列排序、处理不存在的列(显示NaN)、为不存在的列赋值以及删除列的操作。通过具体代码示例展示了如何对DataFrame进行这些基本操作,包括列顺序调整、数据查看和列删除等。这些操作是使用Pandas进行数据处理和分析的基础技术
Pandas中的两个主要数据结构是:Series和DataFrame。Series是类似于一维数组的对象.DataFrame是矩形的数据表,它含有一组有序且有命名的列,每一列可以是不同的数据类型(数值、字符串、布尔值等)。
DataFrame既有行索引也有列索引,可以看作由共用同一个索引的Series组成的字典。
(1)等长列表构成的字典创建DataFrame
DataFrame自动添加列左侧索引,这一点和Series是一样的。import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data) print(frame) head()函数用于显示头部行数,如head(2)用于显示前面两行,如下所示,如果不加参数,则默认显示5行。tail()函数用于显示后面的行数,用法和head()函数一致。China USA England 0 北京 芝加哥 伦敦 1 上海 华盛顿 曼彻斯特 2 南京 纽约 利物浦 3 杭州 阿拉斯加 利兹联import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data) print(frame.head(2))China USA England 0 北京 芝加哥 伦敦 1 上海 华盛顿 曼彻斯特
(2)按指定列排序:frame=pd.DataFrame(data,columns=["China","England","USA"])
import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA"]) print(frame)China England USA 0 北京 伦敦 芝加哥 1 上海 曼彻斯特 华盛顿 2 南京 利物浦 纽约 3 杭州 利兹联 阿拉斯加frame=pd.DataFrame(data,columns=["China","England","USA"]),用于指定列的顺序,指定后顺序由China,USA,England变成了China,England,USA。
在Pandas中,有两种方式输出一列的值。
import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA"]) print(frame["China"])0 北京 1 上海 2 南京 3 杭州 Name: China, dtype: objectimport pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA","France"]) print(frame.China)0 北京 1 上海 2 南京 3 杭州 Name: China, dtype: object
(3)指定列不存在,如指定包含“France”,其不存在,显示结果,整个一列都是NaN
import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA","France"]) print(frame)China England USA France 0 北京 伦敦 芝加哥 NaN 1 上海 曼彻斯特 华盛顿 NaN 2 南京 利物浦 纽约 NaN 3 杭州 利兹联 阿拉斯加 NaN(4)给不存在的列赋值
import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA","France"]) frame.France=["巴黎","里昂","aa","bb"] print(frame)China England USA France 0 北京 伦敦 芝加哥 巴黎 1 上海 曼彻斯特 华盛顿 里昂 2 南京 利物浦 纽约 aa 3 杭州 利兹联 阿拉斯加 bb(5)删除一列(del frame["France"])
import pandas as pd data={"China":["北京","上海","南京","杭州"], "USA":["芝加哥","华盛顿","纽约","阿拉斯加"], "England":["伦敦","曼彻斯特","利物浦","利兹联"] } frame=pd.DataFrame(data,columns=["China","England","USA","France"]) frame.France=["巴黎","里昂","aa","bb"] print(frame) del frame["France"] print(frame)China England USA France 0 北京 伦敦 芝加哥 巴黎 1 上海 曼彻斯特 华盛顿 里昂 2 南京 利物浦 纽约 aa 3 杭州 利兹联 阿拉斯加 bb China England USA 0 北京 伦敦 芝加哥 1 上海 曼彻斯特 华盛顿 2 南京 利物浦 纽约 3 杭州 利兹联 阿拉斯加
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)