python第二课

# -*- coding: utf-8 -*-
"""
Created on Sun Mar  4 19:35:44 2018


@author: Lenovo
"""
"""


DataFrame类似于excel的表格,用于存储多行多列的数据集合。
索引列index,默认从0开始


from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
})


也可以指定DataFrame的index
from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },                  #这里的逗号不能少
        index = ['first','second','third']  #index要写在大括号的外面
)


DateFrame的访问
按列名访问:df['age']
输出如下
first     21
second    22
third     23
Name: age, dtype: int64


df[['age','name']]  #注意这里是双层中括号,将age和name作为一个数组传入。
同时输出age列和name列的内容,如下


        age  name
first    21   KEN
second   22  JOHN
third    23  JIMI


按行访问之切片
df[1:2]#输出df中的第二行数据。注意不包含第三行,区间左闭合。




输出如下: 
        age  name
second   22  JOHN


#切片永远是左闭合,即大于等于第一个指定索引,小于第二个指定索引。


按行访问之指定行名
df.loc[['first','second']] 


输出如下
        age  name
first    21   KEN
second   22  JOHN


 #注意这里df后有.loc,没有.loc就是按列访问,但是列名并没有first和second,会导致报错。
 #'first','second'的中括号是双层的。
 
 按行、列号访问
 df.iloc[0:1,0:1] # 这里的中括号只有1层,而且不用小括号。
#输出结果:
           age
first   21


按行、列名索引   df.at


from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },
      index = ['first','second','third']
)


df.at['first','name']  #输出first行、name列的元素,输出:'KEN'
df.at['first','age']  #输出first行、name列的元素,输出:21


列名的修改   df.columns=
df.columns   输出df的所有列名,注意这里的columns的开头字母是小写的
输出:Index(['age', 'name'], dtype='object')


 df.columns = ['age2','name2']  #将df的列名改为age2和name2
 df #输出更名后的结果
Out[6]: 
        age2 names
first     21   KEN
second    22  JOHN
third     23  JIMI


行名的更改:
df.index  输出df的所有行名,注意这里的index的开头字母是小写的
输出  Out[7]: Index(['first', 'second', 'third'], dtype='object')


df.index = range(1,4)  #将行名改为1,2,3,注意不包含4.range里的参数必须是整数。
df.index = ['a','b','c']#将行名改为a,b,c,注意这里用的是方括号。


元素的删除


根据行号删除
df.drop('first',axis=0)  #删除整个first行,但是不对df产生影响,要用df=df.drop('first',axis=0)
#删除行的时候,axis只能设为0,不能设为1,
#设为1的时候会报错,提示ValueError: labels ['first'] not contained in axis.
#按行删除的时候axis也可以不设置,默认就是0


根据列号删除
df=df.drop('age',axis=1)
#这里的axis不可省略






from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },
      index = ['first','second','third']
)


df=df.drop('first',axis=0)


df


输出:
Out[16]: 
        age  name
second   22  JOHN
third    23  JIMI


from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },
      index = ['first','second','third']
)


df=df.drop('age',axis=1)


df


输出:
Out[23]: 
        name
first    KEN
second  JOHN
third   JIMI


增加行:


df.loc[len(df)] = [24,'KK'] 
#在df的最后加上一行,内容是24和KK,python自动加一个索引3.


from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },
      index = ['first','second','third']
)


df.loc[len(df)] = [24,'KK']
df


输出:
Out[27]: 
        age  name
first    21   KEN
second   22  JOHN
third    23  JIMI
3        24    KK


这种增加行的方法效率很低,不可用于遍历之中。


增加列:
df['newcolumn']=[2,4,5]
#很简单哦,直接加列名和元素




len(df)  #返回df的行数
"""


from pandas import DataFrame
df = DataFrame({
        "age": [21,22,23],  #这里的逗号不能少
        "name": ['KEN','JOHN','JIMI']
        },
      index = ['first','second','third']
)


df['newcolumn']=[2,4,5]
df

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值