深度学习入门 之 Pandas学习笔记(一)

目录

引言:

一、 pandas基本介绍

1.1 创建序列方法

1.2 常用方法

二、 pandas选择数据

2.1 根据标签选择 loc

2.2 根据位置选择 iloc

2.3 根据标签和位置结合选择 ix

2.4 布尔选择 boolean indexing

三、 pandas设置值

3.1 常用修改值方法

3.2 添加新列


引言

        pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。【来自百度百科】

一、 pandas基本介绍

1.1 创建序列方法

t1 = pd.Series([1, 2, 3, np.nan, 44, 1])
print (t1)
dates = pd.date_range('20220401', periods=3)
print (dates)
# 创建二维数组
test = pd.DataFrame(np.random.randn(3, 4), index=dates, columns=['A', 'B', 'C', 'D'])
print (test)

 在创建二维序列的时候,index参数相当于行的序列号,column相当于列的序列号。输出结果如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_20,color_FFFFFF,t_70,g_se,x_16

 还可以使用直接放入字典的方式进行创建二维序列:

# 字典方式创建二维序列
test2 = pd.DataFrame({"A": [1, 2, 3],
                      "B": ['math', 'Chinese', 'English'],
                      "C": [7, 8, 9],
                      "D": [3, 4, 7]}, index=dates)
print (test2)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_8,color_FFFFFF,t_70,g_se,x_16  

字典的键等价于列的序号,字典的值形成一列。如果不给index设置值则行序号默认0,1,2……

1.2 常用方法

print(……):

test2.dtypes:输出每一列对应的数据类型

test2.index:输出所有行的序号

test2.columns:输出所有列的序号

test2.values:输出所有值(不包含序号)

test2.describe():输出所有数值列的count、mean、std、min……

test2.T:输出原序列的转置

test2.sort_index(axis=0/1,ascending=true/false):按照行/列+升序/降序进行排序

test2.sort_values(by='B'):指定列进行值排序

样例如下:

# 字典方式创建二维序列
test2 = pd.DataFrame({"A": [1, 2, 3],
                      "B": ['math', 'Chinese', 'English'],
                      "C": [7, 8, 9],
                      "D": [3, 4, 7]})
print (test2)
print (test2.dtypes)
print (test2.index)
print (test2.columns)
print (test2.values)
print (test2.describe())
print (test2.T)
print (test2.sort_index(axis=1, ascending=False))
print (test2.sort_values(by='B'))

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_14,color_FFFFFF,t_70,g_se,x_16 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_16,color_FFFFFF,t_70,g_se,x_16

二、 pandas选择数据

选择某列:test2['A']、test2.A

选择某行:print (test2[0:2])  注意输出的是0、1行,左闭右开

和下面的要进行对比。

2.1 根据标签选择 loc

# 字典方式创建二维序列
test2 = pd.DataFrame({"A": [1, 2, 3],
                      "B": ['math', 'Chinese', 'English'],
                      "C": [7, 8, 9],
                      "D": [3, 4, 7]})
print (test2)
# 根据标签选择数据
print (test2.loc[2])  # 输出第二行
print (test2.loc[:, 'B'])  # 输出B列
print (test2.loc[:, ['B', 'C']])  # 输出B,C列
print (test2.loc[1, ['B', 'C']])  # 输出1行 B,C列
print (test2.loc[:1, ['B', 'C']])  # 输出0,1行 B,C列

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_14,color_FFFFFF,t_70,g_se,x_16

2.2 根据位置选择 iloc

# 根据位置选择数据
print (test2.iloc[2])  # 输出第2行
print (test2.iloc[:, 1])  # 输出第1列
print (test2.iloc[:, 1:3])  # 输出1,2列
print (test2.iloc[1, 1:3])  # 输出1行 1,2列
print (test2.iloc[:1, 1:3])  # 输出0行 1,2列

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_11,color_FFFFFF,t_70,g_se,x_16  

2.3 根据标签和位置结合选择 ix

# 字典方式创建二维序列
test2 = pd.DataFrame({"A": [1, 2, 3],
                      "B": ['math', 'Chinese', 'English'],
                      "C": [7, 8, 9],
                      "D": [3, 4, 7]}, index=dates)
print (test2)
# 根据标签和位置选择数据
print (test2.ix[2])  # 输出第2行
print (test2.ix[:, 'B'])  # 输出第1列
print (test2.ix[:, ['B', 'C']])  # 输出1,2列
print (test2.ix[1, ['B', 'C']])  # 输出1行 1,2列
print (test2.ix[:1, ['B', 'C']])  # 输出0行 1,2列

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_17,color_FFFFFF,t_70,g_se,x_16

2.4 布尔选择 boolean indexing

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_20,color_FFFFFF,t_70,g_se,x_16

三、 pandas设置值

3.1 常用修改值方法

下面这种方法会影响其他列: 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_20,color_FFFFFF,t_70,g_se,x_16

为了避免对其他列的修改,可以采用以下方法:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_20,color_FFFFFF,t_70,g_se,x_16

3.2 添加新列

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pWy5LiN5aW95Luj56CB55qE5bCP6YCP5piO,size_20,color_FFFFFF,t_70,g_se,x_16

也可以在添加新列的时候进行其他类型的值,但要注意赋值的个数应和行数保持一致。

接下

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲不好代码的小透明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值