Pandas索引操作、对齐运算、函数应用
发布日期:2021-05-14 14:57:58 浏览次数:18 分类:精选文章

本文共 3971 字,大约阅读时间需要 13 分钟。

Pandas���������������������������������������������

1. ������������

1.1 ���������������������������

���Pandas������Series���DataFrame���������������Index���������������������������������������Index������������������������������������������������������������������������������������������������������������������������������������

���������������

import pandas as pd
ps1 = pd.Series(range(5), index=['a', 'b', 'c', 'd', 'e'])
print(type(ps1.index)) # ������ pandas._libs.index.Index

���������������

a 0
b 1
c 2
d 3
e 4

1.2 ���������������������

  • ���������������������������������������������������
  • ���������������������������������������������
  • ���������������MultiIndex���������������������������������������������
  • ������������������DatetimeIndex������������������������������������������

���������

ps1 = pd.Series(range(5), index=['a', 'b', 'c', 'd', 'e'])
pd1 = pd.DataFrame(np.arange(9).reshape(3,3), index=['a', 'b', 'c'], columns=['A', 'B', 'C'])

2. ������������������������������

2.1 ������������

������.reindex()���������������������������������������������������������������

���������

ps1 = pd.Series(range(5), index=['a', 'b', 'c', 'd', 'e'])
ps2 = ps1.reindex(['a', 'b', 'c', 'd', 'e', 'f'])
ps2

���������������

a    0
b 1
c 2
d 3
e 4
f NaN

2.2 ���������

���������������������.append()���.loc���.iloc���������������������������

���������

ps1['g'] = 9
ps3 = ps1.append(s1) # s1���������������������

2.3 ���������

������.drop()���del���.pop()������������������������

���������

del ps1['b']
del pd1['E']

2.4 ���������

���������������������.loc���.iloc���������������

���������

pd1.loc['a', 'A'] = 1000
pd1['A'] = [9, 10, 11]

3. ������������

3.1 ������������

Pandas������������ Alignment������������������������������������������������������������������������

���������

s1 = pd.Series(np.arange(4), index=['a', 'b', 'c', 'd'])
s2 = pd.Series(np.arange(5), index=['a', 'c', 'e', 'f', 'g'])
s1 + s2
s1.add(s2, fill_value=0)

3.2 ���������������

������.fillna()������������������������������������.reindex()������������������

���������

df1 = pd.DataFrame(np.arange(12).reshape(4,3), index=['a', 'b', 'c', 'd'], columns=list('ABC'))
df2 = pd.DataFrame(np.arange(9).reshape(3,3), index=['a', 'd', 'f'], columns=list('ABD'))
df1 + df2
df1.add(df2, fill_value=0)

3.3 ������������

������DataFrame���Series������������������������.iloc���.loc������������������������

���������

arr = np.arange(12).reshape(3,4)
s4 = df1.iloc[0]
df1 - s4

4. ������������

4.1 apply���applymap

������.apply���.applymap������������������DataFrame���Series���

���������

df = pd.DataFrame(np.random.randn(5,4))
df.apply(lambda x: sum(x), axis=1)
df.applymap(lambda x: '{:.2f}'.format(x))

4.2 ������������

������.sort_index()���.sort_values()������������������������������

���������

s1 = pd.Series(np.arange(4), index=list('dbca'))
s1.sort_index(ascending=False)
pd1 = pd.DataFrame(np.arange(12).reshape(4,3), index=list('bdca'), columns=list('BCA'))
pd1.sort_index(axis=1)

4.3 ���������������

������.dropna()���.fillna()������������������

���������

df3 = pd.DataFrame([np.random.randn(3), [1., 2., np.nan], [np.nan, 4., np.nan], [1., 2., 3.]], columns=['A', 'B', 'C'])
df3.dropna()
df3.fillna(-100.)

5. ������������

5.1 ���������������������������

������.swaplevel()���.sortlevel()���������������������

���������

s1 = pd.Series(np.random.randn(12), index=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c', 'd', 'd', 'd'], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]])
s1['b']
s1.swaplevel()

6. ���������������

6.1 ���������������������

������.sum()���.idxmax()���������������������

���������

df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.75, -1.3]], columns=['one', 'two'])
df.sum()
df.idxmax()

6.2 ������������

������.describe()���������������������

���������

s1 = pd.Series(['a', 'a', 'b', 'c'] * 4)
s1.describe()

���������������������������������Pandas���������������������������������������������������������������������������������������������

上一篇:机器学习:sklearn实现吃鸡
下一篇:Pandas的Series和DataFrame

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月07日 15时05分04秒