pd.Series()
定义及参数设置:
Series() 是 一维数据结构,包含行索引和数据两个部分。
import pandas as pd
s = pd.Series(data = [100, 'a', {'dic1':5}],
index = pd.Index(['id1', 20, 'third'], name='index_name'),
dtype = 'object',
name = 'pd.Series_name')
print(s)
运行结果:
index_name
id1 100
20 a
third {'dic1': 5}
Name: pd.Series_name, dtype: object(属于混合数据类型)
数据获取
由属性参数获取index 和 values
- 变量名.values = pd.Series 中的 data 部分。
s.values
- 变量名.index = pd.Series 中的 index部分。
s.index
- 变量名.dtype= pd.Series 中的 dtype部分。
s.dtype
- 变量名.name= pd.Series 中的 name部分。
s.name
- 变量名.shape= pd.Series 的 形状(长度)
s.shape
#运行结果:
#(3,)
因为pd,Series() 是一维数据类型,所以(行元素的个数,),这里的 3 指得是行元素的个数
index和values之间的相互获取
- 由下标index获得值values
变量名[ index取值 ] = 对应下标的data数据。
s[20]
# 运行结果:
# a
- 由值获得下标
Series数据[ 变量名.values == 值 ].index
Series数据[ 变量名.values == 值 ].index [ 0 ]
import pandas as pd
s = pd.Series(data = [100, 'a', {'dic1':5}],
index = pd.Index(['id1', 20, 'third'], name='index_name'),
dtype = 'object',
name = 'pd.Series_name')
print(s[s.values == 100].index)
print(s[s.values == 100].index[0])
运行结果:
Index(['id1'], dtype='object', name='index_name')
id1
pd.DataFrame()
定义:
pd.DataFrame() 二维数据结构,包含带索引的多列数据,各列的数据类型可能不同。
该存储结构的参数有:
data, index , columns, dtype
import pandas as pd
df = pd.DataFrame(data = {'col_0': [1,2,3],
'col_1':list('abc'),
'col_2': [1.2, 2.2, 3.2]},
index = ['row_%d'%i for i in range(3)])
print(df)
文件读取的数据类型:
import pandas as pd
data_read_path =r"F:\joyful-pandas-master\data\my_csv.csv"
data = pd.read_csv(data_read_path, encoding="gbk")
data1 = pd.DataFrame(data)
print(type(data))
print(type(data1))
运行结果:
<class 'pandas.core.frame.DataFrame'> # print(type(data))
<class 'pandas.core.frame.DataFrame'> # print(type(data1))
解释:直接对文件进行读取操作,pandas会自动选择数据的存储类型。
数据获取
参数获取同Series结构一样
举例:
df.shape
# 运行结果:
# (3, 3) (行元素个数, 列元素个数)
(3, 3) 代表(行元素个数, 列元素个数)
另外,可以通过 .T 可以把 DataFrame 进行转置
df.T
运行结果:
row_0 row_1 row_2
col_0 1 2 3
col_1 a b c
col_2 1.2 2.2 3.2
根据需要获取数据
变量名[ 筛选条件 ]
注意中括号的数量:
df[["col_1", "col_2"]] # 正确
df["col_1", "col_2"] # 错误写法