# -*- encoding:utf-8 -*-
# Copyright (c) 2015 Shiye Inc.
# All rights reserved.
#
# Author: ldq <liangduanqi@shiyejinrong.com>
# Date: 2019/2/12 10:07 import numpy as np
import pandas as pd dates = pd.date_range("", periods=5)
'''
DatetimeIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04',
'2019-01-05', '2019-01-06'],
dtype='datetime64[ns]', freq='D')
'''
df = pd.DataFrame(np.random.randn(5, 4), index=dates,
columns=["a", "b", "c", "d"])
'''
a b c d
2019-01-01 -0.406321 -0.518128 -0.151546 1.438366
2019-01-02 -0.738235 0.400646 1.337277 1.393154
2019-01-03 1.646115 -0.073540 0.644506 0.987226
2019-01-04 -1.270745 -1.333457 -1.571356 -0.051486
2019-01-05 -0.075171 2.424032 -0.274433 1.205959
'''
df1 = pd.DataFrame(np.arange(12).reshape(3, 4))
'''
0 1 2 3
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
'''
data2 = {
"a": 1,
"b": pd.Timestamp(""),
"c": pd.Series(1, index=range(4), dtype=np.float64),
"d": np.array([3] * 4, dtype=np.int32),
"e": pd.Categorical(["test", "train", "test", "train"]),
"f": "foo",
"g": pd.date_range("",periods=4),
}
df2 = pd.DataFrame(data2)
'''
a b c d e f g
0 1 2019-01-01 1.0 3 test foo 2002-02-05
1 1 2019-01-01 1.0 3 train foo 2002-02-06
2 1 2019-01-01 1.0 3 test foo 2002-02-07
3 1 2019-01-01 1.0 3 train foo 2002-02-08
'''
columns1 = df2.columns
'''
所有列
Index(['a', 'b', 'c', 'd', 'e', 'f', 'g'], dtype='object')
'''
index1 = df2.index
'''
RangeIndex(start=0, stop=4, step=1)
'''
values1 = df2.values
'''
[[1 Timestamp('2019-01-01 00:00:00') 1.0 3 'test' 'foo'
Timestamp('2002-02-05 00:00:00')]
[1 Timestamp('2019-01-01 00:00:00') 1.0 3 'train' 'foo'
Timestamp('2002-02-06 00:00:00')]
[1 Timestamp('2019-01-01 00:00:00') 1.0 3 'test' 'foo'
Timestamp('2002-02-07 00:00:00')]
[1 Timestamp('2019-01-01 00:00:00') 1.0 3 'train' 'foo'
Timestamp('2002-02-08 00:00:00')]]
'''
describe1 = df2.describe()
'''
数据简单统计
a c d
count 4.0 4.0 4.0
mean 1.0 1.0 3.0
std 0.0 0.0 0.0
min 1.0 1.0 3.0
25% 1.0 1.0 3.0
50% 1.0 1.0 3.0
75% 1.0 1.0 3.0
max 1.0 1.0 3.0
'''
transpose1 = df2.T
'''
数据翻转
0 ... 3
a 1 ... 1
b 2019-01-01 00:00:00 ... 2019-01-01 00:00:00
c 1 ... 1
d 3 ... 3
e test ... train
f foo ... foo
g 2002-02-05 00:00:00 ... 2002-02-08 00:00:00 [7 rows x 4 columns]
'''
df2_sort_index = df2.sort_index(axis=0, ascending=False)
'''
对行和列的索引进行排序
a b c d e f g
3 1 2019-01-01 1.0 3 train foo 2002-02-08
2 1 2019-01-01 1.0 3 test foo 2002-02-07
1 1 2019-01-01 1.0 3 train foo 2002-02-06
0 1 2019-01-01 1.0 3 test foo 2002-02-05
'''
df2_sort_values = df2.sort_values(by='g', ascending=False)
'''
根据值排序
a b c d e f g
3 1 2019-01-01 1.0 3 train foo 2002-02-08
2 1 2019-01-01 1.0 3 test foo 2002-02-07
1 1 2019-01-01 1.0 3 train foo 2002-02-06
0 1 2019-01-01 1.0 3 test foo 2002-02-05
'''

Pandas 1 表格数据类型DataFrame的更多相关文章

  1. pandas中的数据结构-DataFrame

    pandas中的数据结构-DataFrame DataFrame是什么? 表格型的数据结构 DataFrame 是一个表格型的数据类型,每列值类型可以不同 DataFrame 既有行索引.也有列索引 ...

  2. pandas库的数据类型运算

    pandas库的数据类型运算 算数运算法则 根据行列索引,补齐运算(不同索引不运算,行列索引相同才运算),默认产生浮点数 补齐时默认填充NaN空值 二维和一维,一维和0维之间采用广播运算(低维元素与每 ...

  3. 数据类型-DataFrame

    数据类型-DataFrame DataFrame是由多个Series数据列组成的表格数据类型,每行Series值都增加了一个共用的索引 既有行索引,又有列索引 行索引,表明不同行,横向索引,叫inde ...

  4. Python之Pandas中Series、DataFrame

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  5. Python之Pandas中Series、DataFrame实践

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  6. pandas向表格中循环写入数据

    pandas向表格中循环写入多行数据 import pandas as pd def list_topic(total_num, str1): """ 生成多个主题 :p ...

  7. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  8. python简单爬虫 使用pandas解析表格,不规则表格

    url = http://www.hnu.edu.cn/xyxk/xkzy/zylb.htm 部分表格如图: 部分html代码: <table class="MsoNormalTabl ...

  9. pandas使用drop_duplicates去除DataFrame重复项

    DataFrame中存在重复的行或者几行中某几列的值重复,这时候需要去掉重复行,示例如下: data.drop_duplicates(subset=['A','B'],keep='first',inp ...

随机推荐

  1. Qt快速入门第三版下载

    找了半天才找到一个靠谱的: http://www.ddooo.com/softdown/111665.htm

  2. .net aop 操作 切面应用 Castle.Windsor框架 spring 可根据接口 自动生成一个空的实现接口的类

    通过unget 安装Castle.Windsor using Castle.DynamicProxy; using System; using System.Collections.Generic; ...

  3. 命令链接按钮QCommandLinkButton

    继承QPushButton 它的用途类似于单选按钮的用途,因为它用于在一组互斥选项之间进行选择,命令链接按钮不应单独使用,而应作为向导和对话框中单选按钮的替代选项,外观通常类似于平面按钮的外观,但除了 ...

  4. JDK开发环境配置

    1. 新建 -> 变量名“JAVA_HOME”, 变量值“C:\Program Files\Java\jdk1.8.0_112”(即JDK的安装路径) 2. 编辑 -> 变量名“Path” ...

  5. JAVA进阶20

    1.可视化日历程序(简陋版) package cn.zh.abstrac; import java.text.DateFormat; import java.text.ParseException; ...

  6. hadoop启动 datanode的live node为0

    hadoop启动 datanode的live node为0 浏览器访问主节点50070端口,发现 Data Node 的 Live Node 为 0 查看子节点的日志 看到 可能是无法访问到主节点的9 ...

  7. android的nfc卡模拟开发

    这是andorid官方文档对于卡模拟方式的描述: https://developer.android.google.cn/guide/topics/connectivity/nfc/hce 有两种方式 ...

  8. tp5.0 queue 队列操作

    检查是否安装redis(没有请自行百度安装): phpinfo: 配置thinkphp-queue,没有请执行 composer require topthink/think-queue 加入: 创建 ...

  9. python中的MySQL使用 + pickle使用

    (1)python中有一个包“sqlite3”,可以用来进行数据库相关的操作: 参考下面一个例子: import sqlite3 import pickle img_list = [('a' , 0) ...

  10. jmeter测试报告分析

    转载:http://www.cnblogs.com/miaomiaokaixin/p/6118081.html 在cmd中用命令行执行jmeter脚本: jmeter地址  -n -t  脚本地址  ...