pandas基本操作及拼接

本文参考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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球