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
热门推荐
布艺沙发清洗消毒指南(保持家居环境清洁与健康)
儿童舌系带检查方法详解
作文素材摘抄万能:从积累到应用的全方位指南
专家解读:男性每天摄入1800大卡能否实现减肥目标?
LOL英雄介绍:凛冬之怒瑟庄妮技能详解
不起火、不爆燃?用水做电池原来优点这么多
一个身份证能开两个酒店房间吗?律师专业解答来了
节节草的功效及药用价值(探寻节节草的多种功效)
乳酸菌素片的作用与功效
在传统相亲之外尝试户外方式“有效社交”
一文搞懂LLM大模型!LLM从入门到精通万字长文(2024.12月最新)
痛风的病因及发病机制
干炒牛河7步做法
韧带松弛的Beighton分级评分
起诉离婚可以通过公告形式吗?异地起诉离婚流程及所需时间详解
身高只有160cm的她,成为韩系穿搭模板,夏日私服时尚又养眼!
早敲胆经晚推肝经有什么作用
上海去崇明岛的交通方式有哪些?这些方式如何方便游客的出行?
冬季儿童护肤全攻略:专家详解三大皮肤问题及日常护理要点
人工智能崛起:或是打开碳基生命转化硅基生命的大门
AA制自助游遭遇意外,责任如何承担?
教你辨别真假羊肉卷,三招挑选优质涮羊肉
韩炳哲:今天,权力越来越呈现出一种自由的姿态
婚姻破裂证据怎么处理的
北宋著名的军事家族——杨家将,是否有后代延续至今?
适合新疆种植的草料
为晒朋友圈,找人代跑刷数据,1公里收费1-3元!“预制健身”真靠谱吗?
超频会对计算机性能产生哪些显著影响
精灵宝可梦Let's Go快龙评测及进化获取全攻略
最低工资标准对中小企业有何影响?