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
热门推荐
为什么“师父不可以-限弥弥”-如何理解师徒关系中的自由与限制
揭秘汉语发音的“小秘密”:那些你可能不知道的“翘舌音”
普通话训练之如何区分平翘舌
五措并举 合川区土场镇乡村振兴见实效!
商誉会计在企业财务中的重要性与应用分析
中长期大额存单不卖了?记者求证,多家银行3年期紧俏5年期难觅
德川家康就任将军,和丰臣秀赖会面二条城,秀赖之死由此埋下伏笔
二条城:江户时代将军权力的象征
6个武汉周边自驾游好去处推荐,适合周末自驾游的小众美景
英语学习:如何纠正英语发音中的口音问题?
《天国:拯救2》异步计算MOD提升游戏整体性能表现
相机杂散光的形成原理与解决方案
跳槽原因:探究职场变动背后的真实原因
做好这五点,预防哮喘发作
乌司奴单抗是治疗什么病的
如何规划在不同城市的居住并满足生活需求?这种规划如何适应城市发展的变化?
家长角色至关重要:香港推出《家长教育课程架构(中学)》
亲子关系的建立与维护:家长的角色与挑战
慢性荨麻疹的健康宣教
大数据与会计专业融合:如何通过数据分析提升财务决策?
探宝百馆之城 穿梭古今时空 太原“博物馆热”持续升温
解放战争奖章4:东北野战军奖章
花冠的性能如何?这种性能在实际使用中有哪些优缺点?
生化危机2重制版暴君怎么打 暴君通关攻略技巧
吃馒头能减肥吗?从营养到运动的全面解析
深圳子女随迁入户的条件和流程有哪些
警惕常见的网络谬误:诉诸人身攻击!
《红楼梦》里话中秋:聊一聊《红楼梦》对中秋节的描写及其寓意
今日中秋,陪孩子重温这些绝美诗词
医生解答:喝茶能否补充人体水分?