基本数据类型
-
pandas的数据类型:
1.二维:series —— pd.Series
Series包括index和values两部分
series是一个定长的,有序的字典,因为它把索引和值映射起来
2.三维:dataframe —— pd.DataFrame
Series包括index、values和columns(特征名称 )三部分 -
numpy的数据类型:
array —— np.array -
python的数据类型:
list,tuple和dict是列表、元组、字典
创建DataFrame
创建DataFrame对象的数据可以为列表,数组和字典,列名(columns)和索引(index)为列表对象
>>df = pd.DataFrame(['dd','ss','aa'],index =['a','b','c'],columns= ['title']) #若没输入index,默认0123...
print(df)
title
a dd
b ss
c aa
>>df1 = pd.DataFrame({'color':['red','blue'],'number':[20,30]}) #dataframe另一种写法:字典{}里面'索引':[内容]
print(df1)
color number
0 red 20
1 blue 30
Pandas:DataFrame对象的基础操作
python3 DataFrame, Series, array, list, dict, tuple的相互转换
import numpy as np
import pandas as pd
########### Series ###########
Series <--> DataFrame
*dataframe* = pd.DataFrame({"XXX1":*series1*,"XXX2":*series2*})
*series* = *dataframe*[0] #无标签时
*series* = *dataframe*["XXX"] #有标签时
Serise <--> ndarray
*series* = pd.Series(*ndarray*) #这里的ndarray是1维的
*ndarray* = np.array(*series*)
*ndarray* = *series*.values
Series <--> list
*series* = pd.Series(*list*)
*list* = *series*.tolist()
*list* = list(*series*)
Series <--> dict
*series* = pd.Series(*dict*)
*dict* = *series*.to_dict()
########### DataFrame ###########
DataFrame <--> ndarray
*ndarray* = *dataframe*.values
*dataframe* = pd.DataFrame(*ndarray*)
DataFrame <--> list
*list* = *dataframe*.values.tolist()
*dataframe* = pd.DataFrame(*list*)
DataFrame <--> dict
*dataframe* = pd.DataFrame.from_dict({0:*dict1*, 1:*dict2*})
*dataframe* = pd.DataFrame(*dict*)
*dict* = *dataframe*.to_dict()
########### 其它 list ###########
dict --> list
*list* = *dict*.values() # list of values
*list* = *dict*.keys() # list of keys
*list* = list(*dict*) # list of keys
ndarray <--> list
*list* = *ndarray*.tolist()
*ndarray* = np.array(*list*)
tuple <--> list
*list* = list(*tuple*)
*tuple* = tuple(*list*)
Index --> list
*dataframe*.columns.tolist()
---------------------
range和arange
- range(start, end, step),是python的内置函数,Python3 range() 函数返回的是一个整数序列的可迭代对象(类型是object),而不是列表类型,Python2返回的是列表。
-range()只能创建int型list,一般用在 for 循环中。
-list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为list。
>>range(5)
range(0, 5)
>>for i in range(5):
print(i)
0
1
2
3
4
>>for i in range(5,0,-1):
print(i)
5
4
3
2
1
>>l1 = list(range(0, 30, 5)) #利用list把range()的返回值(本来是object)转为列表(list)
print(l1)
[0, 5, 10, 15, 20, 25]
>>for x in l1:
print(x)
5
10
15
20
25
>>l2 = list(range(1, 0)) #空列表
print(l2)
[ ]
>>for i in list(range(0,4)):
print(i)
>>items = []
for x in range(0,6):
items.append(x)
print(items)
[0, 1, 2, 3, 4, 5]
等同于下面:
>>items = [x for x in range(6)] #创建一个命名为items的list
print(items)
[0, 1, 2, 3, 4, 5]
- arange(start, end, step)是numpy的函数,因此需要导入numpy模块(import numpy as np或者from numpy import*)
-返回一个array对象
-arange()可以使用float型数据。
np.arange(5)
>>array([0, 1, 2, 3, 4])