Python基础(二)pandas基本用法

本文介绍了Python的pandas库,重点讲解了Series和DataFrame两种主要数据结构的创建与操作,包括数据帧的基本功能及常用函数的使用,并探讨了pandas强大的日期处理能力。

1.pandas有哪些数据结构?

Series,DataFrame,Panel三种数据结构。Series是系列,尺寸大小不可变,数据可变。DataFrame是数据帧大小可变,数据可变。

2.创建一个序列Series?

s = pd.Series()
从ndarray创建一个序列
data = np.array(['a','b','c','d'])
s = pd.Series(data)

data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[100,101,102,103])
从字典中创建一个序列
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
从标量中创建一个序列
s = pd.Series(5, index=[0, 1, 2, 3])
3.如何创建一个数据帧DataFrame?
创建一个空数据帧
import pandas as pd
df = pd.DataFrame()
print df
从列表创建一个数据帧
data = [1,2,3,4,5]
df = pd.DataFrame(data)
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'])
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
从字典创建数据帧
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data)
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
从列表创建一个数据帧
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df = pd.DataFrame(data, index=['first', 'second'])
从序列里面创建数据帧
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)

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)

# Adding a new column to an existing DataFrame object with column label by passing new series

print ("Adding a new column by passing as Series:")
df['three']=pd.Series([10,20,30],index=['a','b','c'])
print df

print ("Adding a new column using the existing columns in DataFrame:")
df['four']=df['one']+df['three']

删除列
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)
print ("Our dataframe is:")
print df

# using del function
print ("Deleting the first column using DEL function:")
del df['one']
print df

# using pop function
print ("Deleting another column using POP function:")
df.pop('two')
print df

行添加
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 = pd.DataFrame([[1, 2], [3, 4]], columns = ['a','b'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns = ['a','b'])

df = df.append(df2)

# Drop rows with label 0
df = df.drop(0)
5.系列的基本功能有哪些?
1	axes	返回行轴标签列表。
2	dtype	返回对象的数据类型(dtype)。
3	empty	如果系列为空,则返回True。
4	ndim	返回底层数据的维数,默认定义:1。
5	size	返回基础数据中的元素数。
6	values	将系列作为ndarray返回。
7	head()	返回前n行。
8	tail()	返回最后n行。

6.数据帧的基本功能有哪些?

1	T	转置行和列。
2	axes	返回一个列,行轴标签和列轴标签作为唯一的成员。
3	dtypes	返回此对象中的数据类型(dtypes)。
4	empty	如果NDFrame完全为空[无项目],则返回为True; 如果任何轴的长度为0。
5	ndim	轴/数组维度大小。
6	shape	返回表示DataFrame的维度的元组。
7	size	NDFrame中的元素数。
8	values	NDFrame的Numpy表示。
9	head()	返回开头前n行。
10	tail()	返回最后n行。

7.常用函数有哪些?

1	count()	非空观测数量
2	sum()	所有值之和
3	mean()	所有值的平均值
4	median()	所有值的中位数
5	mode()	值的模值
6	std()	值的标准偏差
7	min()	所有值中的最小值
8	max()	所有值中的最大值
9	abs()	绝对值
10	prod()	数组元素的乘积
11	cumsum()	累计总和
12	cumprod()	累计乘积
8.pandas如何进行排序?
按标签排序
sorted_df=unsorted_df.sort_index()
sorted_df = unsorted_df.sort_index(ascending=False)
sorted_df=unsorted_df.sort_index(axis=1)
按值排序
sorted_df = unsorted_df.sort_values(by='col1')
sorted_df = unsorted_df.sort_values(by=['col1','col2'])

9.pandas的日期功能是怎么样的?

创建一个日期
datelist = pd.date_range('2020/11/21', periods=5)
更改日期频率
datelist = pd.date_range('2020/11/21', periods=5,freq='M')
商业日期
datelist = pd.date_range('2011/11/03', periods=5)
start = pd.datetime(2017, 11, 1)
end = pd.datetime(2017, 11, 5)
dates = pd.date_range(start, end)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值