
本文共 3971 字,大约阅读时间需要 13 分钟。
Pandas���������������������������������������������
1. ������������
1.1 ���������������������������
���Pandas������Series���DataFrame���������������Index���������������������������������������Index������������������������������������������������������������������������������������������������������������������������������������
���������������
import pandas as pdps1 = pd.Series(range(5), index=['a', 'b', 'c', 'd', 'e'])print(type(ps1.index)) # ������ pandas._libs.index.Index
���������������
a 0b 1c 2d 3e 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 0b 1c 2d 3e 4f NaN
2.2 ���������
���������������������.append()
���.loc
���.iloc
���������������������������
���������
ps1['g'] = 9ps3 = ps1.append(s1) # s1���������������������
2.3 ���������
������.drop()
���del
���.pop()
������������������������
���������
del ps1['b']del pd1['E']
2.4 ���������
���������������������.loc
���.iloc
���������������
���������
pd1.loc['a', 'A'] = 1000pd1['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 + s2s1.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 + df2df1.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���������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
