惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 pandas多重索引标准样式(写入excel有空行)-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科
Dataframe创建及index,columns,values,dtypes等属性介绍-互联...
2020-10-04 · via 老董笔记

  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编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会