Pandas DataFrame入门指南:创建、查询与操作
创作时间:
作者:
@小白创作中心
Pandas DataFrame入门指南:创建、查询与操作
引用
1
来源
1.
https://www.cainiaoplus.com/pandas/pandas-dataframe.html
Pandas是Python中一个强大的数据处理库,其中DataFrame是其核心数据结构之一。本文将详细介绍DataFrame的基本概念、创建方法以及对DataFrame的列和行进行查询、添加和删除的操作。
DataFrame的基本概念
DataFrame是二维数据结构,即,数据以表格形式在行和列中对齐。它可以被视为SQL表或电子表格数据表示形式。
DataFrame的构造函数如下:
pandas.DataFrame(data, index, columns, dtype, copy)
参数说明:
- data: 数据采用各种形式,例如ndarray,系列,映射,列表,dict,常量以及另一个DataFrame。
- index: 对于行标签,如果没有传递索引,则用于结果帧的索引是Optional Default np.arange(n)。
- columns: 对于列标签,可选的默认语法为-np.arange(n)。仅当未传递索引时才如此。
- dtype: 每列的数据类型。
- copy: 如果默认值为False,则此命令(或任何它的命令)用于复制数据。
创建DataFrame
可以使用各种输入来创建pandas DataFrame:
- Lists
- dict
- Series
- Numpy ndarrays
- 另一个DataFrame
创建空DataFrame
import pandas as pd
df = pd.DataFrame()
print(df)
运行结果:
Empty DataFrame
Columns: []
Index: []
从Lists创建DataFrame
data = [1,2,3,4,5]
df = pd.DataFrame(data)
print(df)
运行结果:
0
0 1
1 2
2 3
3 4
4 5
从ndarrays / List的Dict创建一个DataFrame
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data)
print(df)
运行结果:
Age Name
0 28 Tom
1 34 Jack
2 29 Steve
3 42 Ricky
从字典列表创建DataFrame
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df = pd.DataFrame(data)
print(df)
运行结果:
a b c
0 1 2 NaN
1 5 10 20.0
从Dict Series创建DataFrame
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df)
运行结果:
one two
a 1.0 1
b 2.0 2
c 3.0 3
d NaN 4
DataFrame的列操作
列查询
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df ['one'])
运行结果:
a 1.0
b 2.0
c 3.0
d NaN
Name: one, dtype: float64
列添加
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
df['three']=pd.Series([10,20,30],index=['a','b','c'])
df['four']=df['one']+df['three']
print(df)
运行结果:
one two three four
a 1.0 1 10.0 11.0
b 2.0 2 20.0 22.0
c 3.0 3 30.0 33.0
d NaN 4 NaN NaN
列删除
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']),
'three' : pd.Series([10,20,30], index=['a','b','c'])}
df = pd.DataFrame(d)
del df['one']
df.pop('two')
print(df)
运行结果:
three
a 10.0
b 20.0
c 30.0
d NaN
DataFrame的行操作
按标签查询
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df.loc['b'])
运行结果:
one 2.0
two 2.0
Name: b, dtype: float64
通过整数位置查询
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df.iloc[2])
运行结果:
one 3.0
two 3.0
Name: c, dtype: float64
切片行
d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
df = pd.DataFrame(d)
print(df[2:4])
运行结果:
one two
c 3.0 3
d NaN 4
添加行
df = pd.DataFrame([[1, 2], [3, 4]], columns = ['a','b'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','b'])
df = df.append(df2)
print(df)
运行结果:
a b
0 1 2
1 3 4
0 5 6
1 7 8
删除行
df = pd.DataFrame([[1, 2], [3, 4]], columns = ['a','b'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','b'])
df = df.append(df2)
df = df.drop(0)
print(df)
运行结果:
a b
1 3 4
1 7 8
热门推荐
大腿肌肉锻炼方法 大腿内收肌、前后侧肌肉怎么练?
工程管理硕士(MEM)的含金量与就业前景如何?想知道的都在这儿!
大众polo和朗逸哪个好
肠胃问题引发高烧:持续时间与缓解策略
年轻人爱上“养娃”:棉花娃娃爆火出圈成新宠
陈凯等人利用LNP递送Cas9 RNP,实现肺和肝脏的高效基因编辑
山东和湖南近几年出生人口为何下降这么快?
机器设备数据采集的方法及采集系统的构建:以工业智能网关为基础
如何判断娃娃接种疫苗的安全性?
6平方电线能承受多少千瓦
王朝兴衰的周期性规律:探究“三百年为何是一道坎”
双打比赛:团队配合与战术较量的魅力
历史上,岳飞的《满江红》怎么流传下来的
美食知识分享:探索世界各地的美食文化与健康饮食新趋势
碘伏的作用和使用注意事项
香水香精浓度与持久度的深度解析及使用指南
拆装实习心得体会合集:从发动机到变速器的实践之旅
贷款excel计算器怎么用
这部小说,写出了一个中年危机女性的内心独白
广东3+证书高职高考省控线逐年上涨,2025年考生如何应对?
催收账款应该要怎么做 应收账款催收方式
锌合金门与铝合金门的优缺点有哪些
苹果电脑如何删除不需要的软件,正确方法参考
结核病防治知识普及:同住家人怎么办?
分析 | 现在买车 选油车还是电车?
参保人发生交通事故后,支付的医疗费用能否用医保报销?
跟着非遗打卡南宁美食,“食”在南宁妙不可言
如何预防甲型流感
挺过多次重大冲击的美国经济,正陷入最难解的困境
DNF手游65版本10个隐藏成就攻略:最高可提升9级成就