pip install pandas
检验是否安装成功
import pandas
print(pandas.__version__)
输出: 1.3.4
入门示例:
import pandas as pd
a = {
'列名1': ['01', '02', '03'],
'列名2': ['08', '09', '10']
}
b = pd.DataFrame(a)
print(b)
输出:
列名1 列名2
0 01 08
1 02 09
2 03 10
Pandas 数据结构 – Series
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。
Series 由索引(index)和列组成,函数如下:
pandas.Series( data, index, dtype, name, copy)
参数说明:
- data:一组数据(ndarray 类型)。
- index:数据索引标签,如果不指定,默认从 0 开始。
- dtype:数据类型,默认会自己判断。
- name:设置名称。
- copy:拷贝数据,默认为 False。
创建一个简单的 Series 实例:
import pandas as pd
a = [1, 2, 3]
myvar = pd.Series(a)
print(myvar)
输出:
0 1
1 2
2 3
dtype: int64
索引
如果没有指定索引,索引值就从 0 开始,我们可以根据索引值读取数据!
import pandas as pd
a = [1, 2, 3]
myvar = pd.Series(a)
print(myvar[2])
print(myvar.get(10)) 可以通过get方式拿 拿不到返回None,也可指定默认值
输出:
3
可以指定索引值,如下:
import pandas as pd
a = ["Google", "Runoob", "Wiki"]
myvar = pd.Series(a, index=["x", "y", "z"])
print(myvar)
print('-------------------华丽的分割线------------------')
print(myvar['x'])
输出:
x Google
y Runoob
z Wiki
dtype: object
calories 420
duration 50
Name: 0, dtype: int64
calories duration
1 380 40
2 390 45
注:返回结果其实就是一个 Pandas DataFrame 数据。
可以指定索引值,如下实例
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index=["day1", "day2", "day3"])
print(df)
print(df.loc["day2"]) # 按行取值
输出:
calories duration
day1 420 50
day2 380 40
day3 390 45
DataFrame 增删改查
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index=('10', '11', '12'))
print(df['calories']) # 按列提取
print(df.iloc[0]) # 按行索引提取
print(df.loc['10']) # 按行自定义索引提取
# del df['duration'] # del 方法删除
df.pop('duration') # pop方法删除
print(df)
df['add'] = [88, 89, 90] #新增
print(df)
df.insert(0, 'insert', '98') # 插入列索引,列名,值
df.insert(0, 'insert', [98, 99, 100])
处理CSV
读csv并输出
import pandas as pd
df = pd.read_csv(r'C:\Users\ht-desktop-001\Desktop\nba.csv')
print(type(df))
print(df.to_string())
注: to_string() 用于返回 DataFrame 类型的数据,如果不使用该函数,则
输出结果为数据的前面 5 行和末尾 5 行,中间部分以 ... 代替。
输出:
<class 'pandas.core.frame.dataframe'>
Name Team Number Position Age Height Weight College Salary
0 Avery Bradley Boston Celtics 0.0 PG 25.0 6-2 180.0 Texas 7730337.0
1 Jae Crowder Boston Celtics 99.0 SF 25.0 6-6 235.0 Marquette 6796117.0
2 John Holland Boston Celtics 30.0 SG 27.0 6-5 205.0 Boston University NaN
...太长未复制
</class>
写入csv
import pandas as pd
三个字段 name, site, age
nme = ["Google", "Runoob", "Taobao", "Wiki"]
st = ["www.google.com", "www.runoob.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 40, 80, 98]
字典
dict = {'name': nme, 'site': st, 'age': ag}
df = pd.DataFrame(dict)
保存 dataframe
df.to_csv('site.csv')
head()
head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.head()) # 默认5行
print(df.head(1)) 读1行
输出:
Name Team Number ... Weight College Salary
0 Avery Bradley Boston Celtics 0.0 ... 180.0 Texas 7730337.0
1 Jae Crowder Boston Celtics 99.0 ... 235.0 Marquette 6796117.0
2 John Holland Boston Celtics 30.0 ... 205.0 Boston University NaN
3 R.J. Hunter Boston Celtics 28.0 ... 185.0 Georgia State 1148640.0
4 Jonas Jerebko Boston Celtics 8.0 ... 231.0 NaN 5000000.0
[5 rows x 9 columns]
tail()
tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.tail())
info()返回表格的一些基本信息
`
import pandas as pd
df = pd.read_csv(r’C:\Users\ht-desktop-001\Desktop\nba.csv’)
print(df.info())
输出:
RangeIndex: 458 entries, 0 to 457 # 行数,458 行,第一行编号为 0
Data columns (total 9 columns): # 列数,9列
# Column Non-Null Count Dtype # 各列的数据类型
Original: https://blog.csdn.net/weixin_44634704/article/details/121338217
Author: 像风一样的男人@
Title: python –Pandas详解
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/753860/
转载文章受原作者版权保护。转载请注明原作者出处!