创建dataframe

一、Dataframe的三个参数

1、data数据,只输入数据参数,会默认添加行索引和列索引,值为0,1,2...n递增的方式。

调用DataFrame()方法,把二维列表转化为DataFrame对象

from pandas import DataFrame,Series

lists=[

    ['name','zhang','san'],

    ['age',40,9],

    ['weight',80,6]

]

df=DataFrame(data=lists)

print(df)

2、通过DataFrame构造函数中的参数index行索引和columns列索引传值,设定DataFrame的行、列索引。

df2=DataFrame(data=lists,index=['a','b','c'],columns=['变量','第一部分','第二部分'])

print(df2)

3、使用字典创建DataFrame,字典的键作为列索引,字典的值作为数据

from pandas import DataFrame,Series

dict={

    '变量':['name','age','weight'],'第一部分': ['zhang',40,80],'第二部分':['san',9,6]

}

df3=DataFrame(data=dict,index=['a','b','c'])

df3

二、属性

1、判断一维和二维

df.ndim

#输出结果为2说明是二维,1说明是一维。

2、分析行数和列数

df.shape

#输出结果为:(行数,列数)

3、获取头部数据,没有参数,默认是5

df.head(数字)

4、获取尾部数据,没有参数,默认是5

df.tail(数字)

5、index.to_list()方法获取行索引列表

df.index.to_list()

#输出结果为:[index列表],如:['a', 'b', 'c']

6、columns.to_list()方法获取行索引列表

df.columns.to_list()

#输出结果为:[列索引列表],如:['变量', '第一部分', '第二部分']

三、取值

1、切片取值

(1)通过位置索引切片取一行(df[起始位置:结束位置])

df[0:1]

#输出结果为:

   变量  第一部分  第二部分

a name  zhang    san

(2)通过位置索引切片取一行(df[起始位置:结束位置])

df[0:3]

#输出结果为:

   变量   第一部分   第二部分

a   name  zhang    san

b    age     40         9

c   weight   80        6

(3)获取某列(df[列索引])

df['第一部分']

#输出结果为:

a      zhang

b        40

c        80

(4)获取多列(df[列索引列表])#注意为两个列表嵌套[[]]

df[['第一部分','第二部分']]

   第一部分    第二部分

a  zhang        san

b    40           9

c   80            6

2、行、列标签索引取(loc方法,注意此方法特殊不是(),而是[])

(1)行、列标签索引取某一行某一列的值,也就相当于excel单元格的值

df.loc['a','变量']

#输出结果为:'name'

(2)行、列标签索引取某一行多列的值

df.loc['a',['变量','第二部分']]

#输出结果为:

变量 name

第二部分    san

(3)行、列标签索引取某一行所有列

df.loc['a',:]

(4)行、列标签索引取某一列所有行

df.loc[:,'变量']

(5)行、列标签索引取多行多列

df.loc[['a','c'],['变量','第二部分']]

(6)连续多行多列

df.loc['a':'c','变量':'第二部分']

3、通过行位置索引取值(iloc,注意此方法特殊不是(),而是[])

(1)获取单行

df.iloc[2]

(2)获取连续多行

df.iloc[0:2]

(3)获取不连续多行

df.iloc[[0,2],:]

(4)获取某行某列,相当于excel的单元格

df.iloc[0,2]

(5)获取某列所有行

df.iloc[:,[2]]

(6)获取多行多列

df.iloc[[0,2],[0,2]]

(7)获取连续多行多列

df.iloc[0:2,0:2]

四、遍历

1、按行遍历

(1)输出所有

for index,row_data in df.iterrows():

    print(index,row_data)

#输出结果为:

a 变量 name

第一部分    zhang

第二部分      san

b 变量      age

第一部分    40

第二部分      9

c 变量      weight

第一部分        80

第二部分        6

(2)输出某列

for index,row_data in df.iterrows():

    print(index,row_data['变量'])

(3)输出某行

for index,row_data in df.iterrows():

    if index=='a':

         print(index,row_data)

(4)选取部分赋值

for index,row_data in df.iterrows():

    a,b=row_data[0:2]

    print([a,b])

2、按列遍历

(1)输出所有

for columns,column_data in df.iteritems():

    print(columns,column_data)

(2)输出某列

for columns,column_data in df.iteritems():

    if columns==‘变量':

        print(columns,column_data)

(3)输出某行

for columns,column_data in df.iteritems():

    print(columns,column_data['a'])

(4)选取部分赋值

for columns,column_data in df.iteritems():

    a,b=column_data[0:2]

    print([a,b])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容