Pandas基础操作2——DataFrame的基础操作

紧接着上一篇博客,创建了Series跟DataFrame

今天学习DataFrame的行列添加和删除操作,以及append和切片操作

下面看代码:

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# Series
s = Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
print(s)
# >>>
#    a    1
#    b    2
#    c    3
#    d    4
#    dtype: int64
print(s['a'])
# >>>1


# DataFrame
d = DataFrame([[1, 2, 3], [4, 5, 6]], index=['a', 'b'], columns=['q', 'w', 'e'])
print(d)
# >>>
#   q  w  e
# a  1  2  3
# b  4  5  6

# 字典创建Dataframe
data = {
    'name': ['小红', '小绿', '小蓝'],
    'birth': [2001, 1999, 2001],
    'height': [188, 178, 189]
}
df = DataFrame(data)
print(df)
# >>>
#  name  birth  height
# 0   小红   2001     188
# 1   小绿   1999     178
# 2   小蓝   2001     189

# 你也可以指定行引索
# 只需要加上
df = DataFrame(data, index=['p1', 'p2', 'p3'])
print(df)
# >>>
#   name  birth  height
# p1   小红   2001     188
# p2   小绿   1999     178
# p3   小蓝   2001     189

# 关于选取DataFrame的行和列
print(df['name'])
# >>>
# p1    小红
# p2    小绿
# p3    小蓝
# Name: name, dtype: object
print(df.loc['p1'])
# >>>
# name        小红
# birth     2001
# height     188
# Name: p1, dtype: object
# 关于切片操作
print(df['p1':'p2'])
# >>>
#   name  birth  height
# p1   小红   2001     188
# p2   小绿   1999     178

'''切记:列不能进行切片操作'''
# df = df['name':'birth']  # wrong!
# print(df)

# 关于布尔选择
print(df[df['name'] == '小蓝'])
# >>>
#   name  birth  height
# p3   小蓝   2001     189

# 增加一行
nr = {
    'name': '小白',
    'birth': '2002',
    'height': '199',
    'sex': 'male'
}
df = df.append(nr, ignore_index=True)
print(df)
#   name birth height   sex
# 0   小红  2001    188   NaN
# 1   小绿  1999    178   NaN
# 2   小蓝  2001    189   NaN
# 3   小白  2002    199  male
df = df.append(nr, ignore_index=True)  # 注意这里True跟False的区别
print(df)
#   name birth height   sex
# 0   小红  2001    188   NaN
# 1   小绿  1999    178   NaN
# 2   小蓝  2001    189   NaN
# 3   小白  2002    199  male
# 4   小白  2002    199  male

'''如果这里是False的话,第二次运行df = df.append(nr, ignore_index=False)会出错
                        因为idex不能append已经存在的'''

# 删除操作

# 删除行
print(df.drop(1, axis=0))
#   name birth height   sex
# 0   小红  2001    188   NaN
# 2   小蓝  2001    189   NaN
# 3   小白  2002    199  male
# 4   小白  2002    199  male
# axis=0, 表示删除行

print(df.drop('name', axis=1))
#  birth height   sex
# 0  2001    188   NaN
# 1  1999    178   NaN
# 2  2001    189   NaN
# 3  2002    199  male
# 4  2002    199  male
# axis=1, 表示删除列


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值