本文参考W3Cschool——”pandas中文教程”,进行归纳学习。附
,需要自取。
pandas是在numpy的基础上开发的数据处理工具包,提供了快速、灵活的数据结构。
它适用于处理一下类型的数据:
- 与SQL与Excel表类似,含异构列的表格数据;
- 有序和无序的时间序列数据;
- 带行列标签的矩阵数据;
- 任意其他形式的观测、统计数据集,且不必事先标记。
pandas的主要数据结构:
- series(一维数据,同构数组)
- DataFrame(二维数据,带标签的、大小可变、异构表格)
>>> series = pd.Series([1, 3, 5, np.nan, 6, 8])
>>> series
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
- 用带索引和标签的Numpy数组生成DataFrame
In [5]: dates = pd.date_range('20130101', periods=6)
In [6]: dates
Out[6]:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
In [7]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
In [8]: df
Out[8]:
A B C D
2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
2013-01-05 -0.424972 0.567020 0.276232 -1.087401
2013-01-06 -0.673690 0.113648 -1.478427 0.524988
- 用Series字典对象生成DataFrame
In [9]: df2 = pd.DataFrame({'A': 1.,
'B': pd.Timestamp('20130102'),
'C': pd.Series(1, index=list(range(4)), dtype='float32'),
'D': np.array([3] * 4, dtype='int32'),
'E': pd.Categorical(["test", "train", "test", "train"]),
'F': 'foo'})
In [10]: df2
Out[10]:
A B C D E F
0 1.0 2013-01-02 1.0 3 test foo
1 1.0 2013-01-02 1.0 3 train foo
2 1.0 2013-01-02 1.0 3 test foo
3 1.0 2013-01-02 1.0 3 train foo
df.head()
df.tail()
df.index
df.columns
df.describe()
- 选择单列
df['A']
- 用
[ ]
切片
df[0:3]
- 按标签选择
df.loc[dates[0]]
df.loc[:, ['A', 'B']]
df.loc['20130102':'20130104', ['A', 'B']]
- 按位置选择
df.iloc[3]
df.iloc[3:5, 0:2]
Pandas 主要用 np.nan
表示缺失数据。 计算时,默认不包含空值。
删除所有含有缺失值的行:
df.dropna(how = 'any')
填充缺失值
df.fillna(value = 5)
提取 nan
值的布尔掩码
pd.isna(df)
一般情况下,运算时排除缺失值。
- 描述性统计
df.mean()
df.mean(1)
Pandas提供了concat,merge,join和append四种方法用于dataframe的拼接,其区别如下:
调用方法使用场景备注
可用于两个或多个df间行方向或列方向进行内联或外联拼接操作,默认行拼接,取并集提供了参数(axis = 0 or 1)设置行/列拼接的方向
可用于df间行方向的拼接操作,默认①
的简略形式,只不过只能在跨行(axis = 0,即沿着列索引向下)上进行合并。 ②DataFrame和Series进行合并的时候需要使用参数
或者含有属性name
可用于df间列方向的拼接操作,默认左列拼接,how=’left’支持左联、右联、内联和外联四种操作类型
可用于两个df间列方向==(一般用join代替)==或行方向的拼接操作,默认列拼接,取交集(即:存在相同主键的df1和df2的列拼接)支持左联、右联、内联和外联四种操作类型
Original: https://blog.csdn.net/weixin_43226986/article/details/112002880
Author: 阿阿阿是阿翼啊
Title: pandas基本操作及拼接
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/678111/
转载文章受原作者版权保护。转载请注明原作者出处!