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
热门推荐
为什么人们都愿意成为万户侯,万户侯有什么好处呢
重庆4月适合种植什么花多年生
选购投影机容易忽略的重要参数,色深8bit、10bit和12bit有啥区别?
旖旎是什么意思?解读“旖旎”的含义和用法
旖旎是什么意思?解读‘旖旎’的含义和用法
盛夏将至,来做一道清爽鲜香的苦瓜酿肉~丨节气小厨
如何成功打造自媒体平台?关键步骤与策略解析
无土栽培的贝贝南瓜如何进行田间管理
异地夫妻如何保持感情:五大实用建议
女兵如何在航母与潜艇上发挥重要作用?
警惕!上海多地发现“巨型老鼠”,成群出没一夜间将农田啃个精光
启动!中国5G异网漫游来了
知识库如何提升搜索引擎推荐关键词的精准度?
美国卷耳猫:独特卷耳的温柔伴侣
深中通道正式开通!虎门大桥不用那么堵车啦!
狂揽200亿!香港富商花30亿捐建中国最赚钱大桥,彻底改变珠三角
带你了解抗氧化
夜间窄桥会车用什么灯光?
蔡司半飞秒后遗症有哪些?精选后遗症来了
跨境电商的三大自发货渠道,优缺点全面解析!
孩子脸色苍白、总喊累?这5种食物让血红蛋白蹭蹭往上涨!
寒假适合1-6年级学生看的电影,对孩子是最好的精神滋养
江西出生率高于全国平均水平,但为何出生人口减半仅花5年?
普达措国家公园:香格里拉的AAAAA级景区,高原明珠的生态之美
扎堆抛售的海景房,白送都没人要了
【机器学习】Adaboost: 强化弱学习器的自适应提升方法
毛泽东《沁园春·长沙》赏析
敬礼是左手还是右手?解析正确的敬礼手势
敬礼是左手还是右手?解析正确的敬礼手势
燕窝与鱼胶功效对比:全面解析滋补效果与适用人群差异