pandas(一)Series数据类型

数据维度

  • 一维数据
    • 列表[1, 3, 3, 4, 5, 6]
    • 集合{1, 3, 3, 4, 5, 6}
  • 二维数据
    • 列表类型:[[1, 3, 3, 4, 5, 6],[1, 3, 3, 4, 5, 6]]
  • 高维数据:
    • 字典类型

Series一维数组

Series由一组数据与数据的索引组成的数据

aa = pd.Series([1, 2, 3, 4, 5])
0    1
1    2
2    3
3    4
4    5
  • 添加索引index=
pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
a    1
b    2
c    3
d    4
e    5
pd.Series(2, index=['a', 'b', 'c'])
a    2
b    2
c    2
字典键是索引, 值还是值
pd.Series({'a': 7, 'b': 8, 'c': 9})
a    7
b    8
c    9
pd.Series({'a': 7, 'b': 8, 'c': 9}, index=['c', 'a', 'd', 'b'])
c    9.0
a    7.0
d    NaN
b    8.0

Series基本操作

  • index .index获取索引
  • values.values获取数据
df = pd.Series({'a': 7, 'b': 8, 'c': 9}, index=['c', 'a', 'd', 'b'])
输出尽所有index
print(df.index)

Index(['c', 'a', 'd', 'b'], dtype='object')
根据索引取值(单个) df[索引] 自动索引、自定义索引均可
df.get(索引)亦可

print(df['b'])
print(df[3])
print(df.get('b'))
8
根据索引取值(多个) df[[索引1, 索引1]] 自动索引、自定义索引均可
print(df[['a', 'd']])
print(df[[1, 2]])

a    7.0
d    NaN

切片操作

可通过自定义索引列表进行切片
可通过自动义索引列表进行切片,如存在自定义索引,则一同被切

print(df[:2])

c    9.0
a    7.0
  • 中位数
df.median()
9.0
大于中位数的
print(df > df.median())
  • 判断某个索引是否是索引(只对自定义索引生效)
is_index = 'd' in df
print(is_index)

True

Series相加操作

series是基于索引的运算
索引值相同的进行运算, 其它为空(两个都有的索引进行相加), 
运算中会自动对齐不同索引的维度的数据
df1 = pd.Series([1, 2, 3, 4], index=['a', 'c', 'd', 'b'])
df2 = pd.Series([7, 8, 9], index=['d', 'b', 'e'])

print(df1 + df2)  
a     NaN
b    12.0
c     NaN
d    10.0
e     NaN

series的name属性

series的name属性
serie对象与索引可有名字, 存储在.name中

df1.name = '对象名'
df1.index.name = '索引列'
print(df1)

索引列
d    7
b    8
e    9
Name: 对象名, dtype: int64

series的修改

serie对象随时修改,即开即食

  • 修改单个值
df1['d'] = 20
print(df1)

d    20
b    8
e    9
  • 修改多个值
df1['d', 'b'] = 20
print(df1)

d    20
b    20
e    9
发布了192 篇原创文章 · 获赞 34 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/a6864657/article/details/103648132
今日推荐