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
热门推荐
白头发补充维生素B族需要多久?科学解答来了
《铝合金纳米复合技术及其产业化应用》项目启动
叙事文中的转折点应该如何设计
如何正确使用英语中的"What"、"Which"、"Who"?
霸王龙的尴尬:前肢短得连自己的嘴都摸不到,它的前肢有什么用?
商品房销售面积计算与公用建筑面积分摊规则是什么?
预计增长7%!解码高质量发展的“吴江速度”
初二下册数学知识点归纳,孩子掌握了,期末考试不丢分
贵霜帝国的崛起与失败:改变亚洲历史的一场战争
广州配售型保障房怎么买、怎么卖,焦点问题全面解答!
慢性荨麻疹如何鉴别诊断
黄金购买时需要考虑哪些税务问题?
【阳台空间利用】实用阳台收纳技巧 合理改造给你不一样的体验
汉武帝大一统的措施及其历史影响
骨科常见病的术后功能锻炼,史上最全!
非全日制研究生毕业论文写作指南,从选题到答辩全攻略
能源转型先锋:五大发电集团的环保征途
交流与直流耦合电池:为太阳能未来供电的终极指南
交流与直流耦合电池:为太阳能未来供电的终极指南
如何计算房屋面积?这种计算有哪些精确和实用的方法?
犯罪心理学中的性本恶:法律视角下的剖析
两个人适不适合结婚,这些关键因素帮你判断
云盘的视频如何加密分享
穴位埋线:中医针灸长效疗法
让脸谱艺术走近百姓身边
人像外拍控光和构图多方面实行见招拆招!
如何改进现有设计流程以提高效率?
快速增强台风预测研究获进展
影响台风强度加强的因素 台风根据强度大小可分为几种
从“房产时代”到“金融时代”的资产配置策略