python中dtypes_Dataframe创建及index,columns,values,dtypes等属性介绍
DataFrame概念(可以通俗理解为excel中一片数据)
表格型数据结构,带有标签的二维数组,有行标签(index)和列标签(columns),其值可以是数值、字符串、布尔值等。
1、.index 行标签
2、.columns 列标签
3、.values 值
.4、dtypes return the dtypes in the DataFrame.
# -*- coding: utf-8 -*-
import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
print(df)
print(df.index)
print(df.columns)
print(df.values)
print(df.dtypes)
D:python3installpython.exe D:/python/py3script/test.py
col1 col2
0 1 3
1 2 4
RangeIndex(start=0, stop=2, step=1)
Index(['col1', 'col2'], dtype='object')
[[1 3]
[2 4]]
col1 int64
col2 int64
dtype: object
Process finished with exit code 0
一:数组/list组成的字典创建DataFrame
1、由数组/list组成的字典(字典的值长度必须保持一致)来创建DataFrame,columns为字典的key,index默认为数字标签
2、columns参数即为列的顺序,格式为list,如果现有数据没有该列(比如列'www.python66.com')则显示控制NaN,如果指定的列少于现有数据,则只显示指定列那部分的数据
3、index参数指定行标签,格式为list
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
# dictionary创建
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
print(df)
print('----------------')
# 强制更改dtype
df = pd.DataFrame(data=d, dtype=np.int8)
print(df.dtypes)
print('----------------')
# numpy的ndarray创建
df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),columns=['a', 'b', 'c'])
print(df2)
print('----------------')
# 更改columns和index
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d,columns=['python66','col2'],index=['python66',2])
print(df)
D:python3installpython.exe D:/python/py3script/test.py
col1 col2
0 1 3
1 2 4
----------------
col1 int8
col2 int8
dtype: object
----------------
a b c
0 1 2 3
1 4 5 6
2 7 8 9
----------------
python66 col2
python66 NaN 3
2 NaN 4
Process finished with exit code 0
二:Series组成的字典创建DataFrame
1、由Series组成的字典创建DataFrame,其columns为字典的key,index默认为Series的标签(默认是数字标签)
2、两个Series长度可以不一致(对比第一种方法字典的值长度必须一致),会产生NaN值。
3、Series的index参数中的元素应避免出现相同的。
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
# Series字典构造创建
series1 = pd.Series(np.random.rand(3))
df1 = pd.DataFrame({'col1':series1,'col2':series1})
print(df1)
print('---------------------')
series1 = pd.Series(['a','b','c'],index=['python66','py7','py8'])
series2 = pd.Series(['a','b','c','d'],index=['python66','py7','py8','py9'])
df1 = pd.DataFrame({'col1':series1,'col2':series2})
print(df1)
D:python3installpython.exe D:/python/py3script/test.py
col1 col2
0 0.954448 0.954448
1 0.465568 0.465568
2 0.286233 0.286233
---------------------
col1 col2
py7 b b
py8 c c
py9 NaN d
python66 a a
Process finished with exit code 0
三:通过二维数组直接创建
1、通过二维数组创建DataFrame得到形状一样的二位数据,不指定index和columns参数,则默认是数字标签。
2、index和columns和原数组长度保持一致。
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
arr = np.random.rand(12).reshape(3,4)
df1 = pd.DataFrame(arr)
print(df1)
print('---------------')
arr = np.random.rand(12).reshape(3,4)
df2 = pd.DataFrame(arr,index=['a','b','c'],columns=['col1','col2','col3','col4'])
print(df2)
D:python3installpython.exe D:/python/py3script/test.py
0 1 2 3
0 0.374332 0.139147 0.413843 0.866404
1 0.223835 0.454294 0.741501 0.583207
2 0.373477 0.602602 0.322788 0.016215
---------------
col1 col2 col3 col4
a 0.409282 0.808191 0.833259 0.972950
b 0.347496 0.673279 0.502993 0.889290
c 0.427744 0.129409 0.894754 0.373354
Process finished with exit code 0
四:由字典组成的列表创建
# -*- coding: utf-8 -*-
import pandas as pd
lis = [{'course','python'},{'domain':'www.python66.com'}]
df = pd.DataFrame(lis)
print(df)
print('----------------')
df = pd.DataFrame(lis,index=['a','b'])
print(df)
D:python3installpython.exe D:/python/py3script/test.py
0 1
0 python course
1 domain None
----------------
0 1
a python course
b domain None
Process finished with exit code 0
五:由字典组成的字典(嵌套字典)创建
1、最外层的key是列标签columns,里面的字典的key为index。
2、可以通过columns参数改变列标签,也可以通过index参数改变行标签,但是原有的index不会变,相当于新增加了一些Index,值为空值。
# -*- coding: utf-8 -*-
import pandas as pd
dic = {'col1':{'index1':'python','index2':'shell'},'col2':{'index1':'python66','index2':'php'}}
df = pd.DataFrame(dic)
print(df)
print('----------------')
df = pd.DataFrame(dic,index=['a','b'])
print(df)
D:python3installpython.exe D:/python/py3script/test.py
col1 col2
index1 python python66
index2 shell php
----------------
col1 col2
a NaN NaN
b NaN NaN
Process finished with exit code 0
python中dtypes_Dataframe创建及index,columns,values,dtypes等属性介绍相关推荐
- Python中字典创建、遍历、添加
Python中字典创建.遍历.添加 字典是Python中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. 一. ...
- python创建类的实例方法-Python中动态创建类实例的方法
简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...
- python中语法错误-python冒号语法错误python中如何创建字典
python字典定义 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ...
- 成功解决Python中出现的ValueError: not enough values to unpack (expected 2, got 1)的问题
成功解决Python中出现的ValueError: not enough values to unpack (expected 2, got 1)的问题 目录 解决问题 解决思路 解决方法 解决问题 ...
- python中如何创建类的对象_python面向对象中如何建立具体的对象?
我们现在眼前所能看到的事物,都是具体的对象.很多小伙伴在面向对象中创建对象,其实都停留在对象名称的建立,计算机中并没有具体对象的描述属性.我们想要使用python中的类,建立的对象就需要是具体的.下面 ...
- Python | 面试必问,线程与进程的区别,Python中如何创建多线程?
其实关于元类还有很多种用法,比如说如何在元类当中设置参数啦,以及一些规约的用法等等.只不过这些用法比较小众,使用频率非常低,所以我们 不过多阐述 了,可以在用到的时候再去详细了解.我想只要大家理解了元 ...
- python中如何创建一个空列表_Python创建空列表的字典2种方法详解
如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因.本文针对两种方法做了实验和分析. 如果要在 Python 中创建一个键值都 ...
- python中怎么创建一个词典_如何在Python中创建字典词典
所以我正在学习一个自然语言处理类,我需要创建一个trigram语言模型来生成随机文本,这些文本在一定程度上基于一些样本数据看起来"逼真". 根本需要创建一个"三元组&qu ...
- python try 嵌套_exception:如何在Python中安全地创建嵌套目录?
检查要写入文件的目录是否存在的最优雅方法是什么,如果不存在,则使用Python创建目录?以下是我的尝试: import os file_path ="/my/directory/filena ...
最新文章
- 流程的python-流畅的Python
- OpenGL 光照贴图Lighting maps
- 您的API是什么情况?
- Go语言从入门到精通 - 数据类型转换
- java final内存机制_Java中的内存处理机制和final、static、final static总结
- matlab中英文对照表,Matlab工具箱中英文对照
- idea代码格式化的自定义
- python 除法符号_python的除法运算符是什么
- 2013年计算机运算速度慢,win7电脑运行速度很慢怎么提速|三个win7提速的技巧
- 使用ffmpeg命令把单张或多张图片生成固定时长的视频
- (bug更正)利用KVC和associative特性在NSObject中存储键值
- 基于android的共享车位app
- 配置MyBatis Plus 的乐观锁功能
- 小猪的猪栏文章类目导航
- CMS简数采集数据发布到迅睿CMS教程
- 神州八号明日清晨发射
- ESP32 web WiFi 管理器esp32-wifi-manager
- openssl之EVP
- 高光谱计算成像论文阅读-High-Quality Hyperspectral Reconstruction Using a Spectral Prior
- 单个视频二维码生成与列表二维码生成(完整版)