pandas基本操作


链接:
头歌学习平台-pandas初体验

Series

导包

from pandas import Series,DataFrame
import pandas as pd

创建series,左边一列是索引,右边是值,int64是数据类型

obj=Series([4,7,-5,3])
obj

在这里插入图片描述
获取值和索引

obj.values
obj.index

在这里插入图片描述
指定值和索引创建series

obj2=Series([4,7,-5,3],index=['d','b','a','c'])
obj2

在这里插入图片描述
通过字典创建值和索引

sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
obj3=Series(sdata)
obj3

在这里插入图片描述

DataFrame

DataFrame是一个表格型的数据结构,是以一个或多个二维块存放的数据表格(层次化索引),DataFrame既有行索引还有列索引,它有一组有序的列,每列既可以是不同类型(数值、字符串、布尔型)的数据,或者可以看做由Series组成的字典。

创建DataFrame

import pandas as pd
from pandas import Series,DataFrame
dictionary = {'state':['0hio','0hio','0hio','Nevada','Nevada'],
             'year':[2000,2001,2002,2001,2002],
             'pop':[1.5,1.7,3.6,2.4,2.9]}
frame = DataFrame(dictionary)

在这里插入图片描述
修改行名:

frame=DataFrame(dictionary,index=['one','two','three','four','five'])

在这里插入图片描述
添加修改:

frame['add']=[0,0,0,0,0]

在这里插入图片描述
添加Series类型:

value = Series([1,3,1,4,6,8],index = [0,1,2,3,4,5])
frame['add1'] = value

在这里插入图片描述

读取csv格式数据

从csv文件里导入了数据,并储存在DataFrame中

import pandas as pd
# Reading a csv into Pandas.
# 如果数据集中有中文的话,最好在里面加上 encoding = 'gbk' ,以避免乱码问题。后面的导出数据的时候也一样。
df = pd.read_csv('test_public.csv', header=0)

在这里插入图片描述
查看前n行

# Getting first x rows.
df.head(5)

在这里插入图片描述
查看后n行

# Getting last x rows.
df.tail(5)

在这里插入图片描述
查看总行数

# Finding out how many rows dataset has.
len(df)

在这里插入图片描述
修改列名

# Changing column labels.
df.columns = ['water_year','rain_octsep','outflow_octsep','rain_decfeb', 'outflow_decfeb', 'rain_junaug', 'outflow_junaug']

数据的基本操作-排序

对索引进行排序

Series用sort_index()按索引排序,sort_values()按值排序;
DataFrame也是用sort_index()和sort_values()。

obj = Series(range(4), index=['d','a','b','c'])
obj.sort_index() 
frame = DataFrame(np.arange(8).reshape((2,4)),index=['three', 'one'],columns=['d','a','b','c'])
frame
frame.sort_index()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
按行排序

ascending 参数用于控制升序或降序,默认为升序。
默认按行索引排序(axis=0)
按列索引(axis=1)

frame.sort_index(axis=1, ascending=False)

在这里插入图片描述
按值排序

  • Series:
obj = Series([4, 7, -3, 2])
obj.sort_values()

在这里插入图片描述

  • DataFrame:
frame = DataFrame({'b':[4, 7, -3, 2], 'a':[0, 1, 0, 1]})
frame.sort_values(by='b')  #DataFrame必须传一个by参数表示要排序的列

在这里插入图片描述

数据的基本操作-删除

删除Series的一个元素:

ser = Series([4.5,7.2,-5.3,3.6], index=['d','b','a','c'])
ser.drop('c')

在这里插入图片描述
删除DataFrame的行或列:

df = DataFrame(np.arange(9).reshape(3,3), index=['a','c','d'], columns=['oh','te','ca'])
df
df.drop('a')
df.drop(['oh','te'],axis=1)

drop()返回的是一个新对象,原对象不会被改变。
在这里插入图片描述

数据的基本操作-算数运算

算术运算(+,-,*,/)

DataFrame中的算术运算是df中对应位置的元素的算术运算,如果没有共同的元素,则用NaN代替。

df1 = DataFrame(np.arange(12.).reshape((3,4)),columns=list('abcd'))
df2 = DataFrame(np.arange(20.).reshape((4,5)),columns=list('abcde'))
df1
df2
df1+df2

在这里插入图片描述
在这里插入图片描述
想设置默认的其他填充值,而非NaN的话,可以传入填充值。

df1.add(df2, fill_value=0)

在这里插入图片描述

数据的基本操作-去重

表示各行是否是重复行

df.duplicated()

在这里插入图片描述
drop_duplicates()用于去除重复的行数

df.drop_duplicates()

在这里插入图片描述

层次化索引

能在一个轴上拥有多个(两个以上)索引级别

data = Series(np.random.randn(10), index = [['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd' ],[1,2,3,1,2,3,1,2,2,3]])
data

在这里插入图片描述
索引方式

data['b':'d']

在这里插入图片描述
内层选取
冒号表示abcd索引,2表示123索引中的2

data[:, 2]

在这里插入图片描述
选取索引为’a’,2的值
在这里插入图片描述
数据重塑
将Series转化成DataFrame:

data.unstack()

在这里插入图片描述

转换成时间类型数据

Timestamp时间戳类型

to_datetime
在这里插入图片描述
在这里插入图片描述

order["lock_time"]=pd.to_datetime(order["locktime"])

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
pandas是一个Python库,用于数据分析和数据处理的工具。它提供了高效的数据结构和数据操作功能,特别适用于处理结构化数据。 以下是一些常见的pandas基础操作: 1. 导入pandas库:使用`import pandas as pd`导入pandas库。 2. 创建DataFrame:DataFrame是pandas中最重要的数据结构,类似于一张表格。可以通过多种方式创建DataFrame,例如从CSV文件、Excel文件、Python字典、NumPy数组等。 3. 查看数据:使用`df.head()`方法可以查看DataFrame的前几行,默认显示前5行。还可以使用`df.tail()`方法查看DataFrame的后几行。 4. 数据选择:可以使用列名称或列索引选择特定的列或多列数据。例如,使用`df['列名']`或`df.loc[:, '列名']`选择单列数据,使用`df[['列名1', '列名2']]`或`df.loc[:, ['列名1', '列名2']]`选择多列数据。 5. 数据过滤:可以使用条件语句过滤DataFrame中的数据。例如,使用`df[df['列名'] > 值]`可以选择满足条件的行。 6. 数据排序:可以使用`df.sort_values(by='列名')`对DataFrame按照指定的列进行排序。 7. 数据聚合:可以使用`df.groupby('列名').函数()`对数据进行分组并进行各种聚合操作,如求和、平均值、计数等。 8. 缺失值处理:可以使用`df.dropna()`删除包含缺失值的行或列,使用`df.fillna(value)`将缺失值填充为指定的值。 9. 数据统计:可以使用`df.describe()`获取DataFrame中数值列的统计信息,如均值、标准差、最小值、最大值等。 这些只是pandas基础操作的一部分,还有很多其他功能和方法可以用于数据处理和分析。你可以查阅pandas官方文档或参考相关教程来深入学习和掌握pandas
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铃音.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值