pandas简单操作(一)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/8/9 19:42
# @Author  : limingyu
# @Site    : 
# @File    : test_pandas.py
# @Software: PyCharm
import pandas

iris_data = pandas.read_csv("iris.data")
print(type(iris_data))  #<class 'pandas.core.frame.DataFrame'>
#文件中包含的所有类型
print(iris_data.dtypes)  #5.1            float64
                         #3.5            float64
                         #1.4            float64
                         #0.2            float64
                         #Iris-setosa     object
                         #dtype: object
#帮助文档
print(help(pandas.read_csv))


#默认显示文件中前五行数据
print(iris_data.head())     #  sepal_lg sepal_wd petal_lg petal_wd   class
                            #0    5.1       3.5    1.4       0.2  Iris-setosa
                            #1    4.9       3.0    1.4       0.2  Iris-setosa
                            #2    4.7       3.2    1.3       0.2  Iris-setosa
                            #3    4.6       3.1    1.5       0.2  Iris-setosa
                            #4    5.0       3.6    1.4       0.2  Iris-setosa
#显示文件中后4行数据
print(iris_data.tail(4))  #     sepal_lg sepal_wd petal_lg petal_wd     class
                          #146     6.3      2.5      5.0    1.9     Iris-virginica
                          #147     6.5      3.0      5.2    2.0     Iris-virginica
                          #148     6.2      3.4      5.4    2.3     Iris-virginica
                          #149     5.9      3.0      5.1    1.8     Iris-virginica

#显示每一列的指标
print(iris_data.columns)  #Index(['sepal_lg', 'sepal_wd', 'petal_lg', 'petal_wd', 'class'], dtype='object')
#显示样本数和指标数
print(iris_data.shape)  #(1(150, 5)一共149个样本,每个样本5个指标


#取数据,取第一行
print(iris_data.loc[0]) #sepal_lg       5.1
                        #sepal_wd       3.5
                        #sepal_wd       3.5
                        #petal_lg       1.4
                        #petal_wd       0.2
                        #class       Iris-setosa
                        #Name: 0, dtype: object\
#按切片按行取数据
print(iris_data.loc[2:4])  # sepal_lg sepal_wd petal_lg petal_wd   class
                           #2  4.7       3.2      1.3     0.2  Iris-setosa
                           #3  4.6       3.1      1.5     0.2  Iris-setosa
                           #4  5.0       3.6      1.4     0.2  Iris-setosa
#按列取数据(安列名定位),取第一列
print(iris_data["class"])  #0     Iris-setosa
                            #1     Iris-setosa
                           #2     Iris-setosa
                           #3     Iris-setosa
                           #4     Iris-setosa等
#取多个列,将多列组成list
columns = ["petal_wd","class"]
iris_columns = iris_data[columns]
print(iris_columns)  #     petal_wd    class
                     #0      0.2     Iris-setosa
                     #1      0.2     Iris-setosa
                     #2      0.2     Iris-setosa等
#将列名做成list
col_names = iris_data.columns.tolist()
print(col_names)  #['sepal_lg', 'sepal_wd', 'petal_lg', 'petal_wd', 'class']
sepal_columns = []
for c in col_names:
    if c.startswith("sepal"):
        sepal_columns.append(c)
sepal_data = iris_data[sepal_columns]
print(sepal_data)   #打印以sepal开头的样本
#     sepal_lg  sepal_wd
#0       5.1      3.5
#1       4.9      3.0
#2       4.7      3.2


#对文本内容进行算数操作
print(iris_data["sepal_lg"])  #0  5.1等
div_10 = iris_data["sepal_lg"] / 10
print(div_10)  #0   0.51等


#pandas排序,默认升序排列,inplace指排序后和排序前是否指向一个空间
iris_data.sort_values("sepal_lg",inplace=True)
print(iris_data["sepal_lg"])   #Name: sepal_lg, Length: 150, dtype: float64
                               # 13     4.3
                               #42     4.4
                               #38     4.4
                               #8      4.4
                               #41     4.5
#设置降序排列
iris_data.sort_values("sepal_lg",inplace=True,ascending=False)
print(iris_data["sepal_lg"])  #Name: sepal_lg, Length: 150, dtype: float64
                              #131    7.9
                              #135    7.7
                              #117    7.7
#pandas的数据类型
#object   --string values
#int      --integer values
#float    --float values
#datetime --time values
#bool     --Boolean values
print(iris_data.dtypes)  #dtype: object

猜你喜欢

转载自blog.csdn.net/mingyuli/article/details/81565384