首页 > 其他分享 >pandas.DataFrame—构建二维、尺寸可变的表格数据结构

pandas.DataFrame—构建二维、尺寸可变的表格数据结构

时间:2023-04-25 13:35:16浏览次数:37  
标签:value positive negative DataFrame result 数据结构 pandas xuhao

语法格式

pandas.DataFrame(data=Noneindex=Nonecolumns=Nonedtype=Nonecopy=None)

常用的几个参数解释:

  • data: 一系列数据,包括多种类型;
  • index: 索引值,行标签,默认值为RangeIndex(0, 1, 2, …, n);
  • columns: 列标签,默认值为RangeIndex(0, 1, 2, …, n);
  • dtype: 设置数据类型;
  • copy: 布尔值或None,表示是否拷贝数据。

代码示例

import pandas as pd
import numpy as np

#利用列表创建DataFrame
d1 = [[3,"negative",2],[4,"negative",6],[11,"positive",0],[12,"positive",2]]
df1 = pd.DataFrame(d1, columns=["xuhao","result","value"])
print(df1)
print(df1.dtypes)

#利用字典创建DataFrame
d2  = {'xuhao': [3,4,11,12], 'result': ["negative","negative","positive",
    "positive"],"value":[2,6,0,2]}
df2 = pd.DataFrame(d2, dtype=np.int8)
print (df2)
print(df2.dtypes)

#利用包含Series的字典创建DataFrame
d3  = {'xuhao': [3,4,11,12], 'result': ["negative","negative","positive",
"positive"],"value": pd.Series([2,3], index=[2,3])}
df3 = pd.DataFrame(d3,index=[0, 1, 2, 3])
print (df3)

#利用numpy ndarray创建DataFrame
df4 = pd.DataFrame(np.array([[3,"negative",2],[4,"negative",6],[11,"positive",0],\
    [12,"positive",2]]), columns=["xuhao","result","value"])
print(df4)

#利用包含标签列的numpy ndarray创建DataFrame
d5 = np.array([(1,3,2),(2,4,6),(3,1,0),(4,3,2)],
    dtype=[("xuhao", "i4"), ("result", "i4"), ("value", "i4")])
df5 = pd.DataFrame(d5)
df6 = pd.DataFrame(d5, columns=["result","value"])
print(df5)
print(df6)

#利用dataclass创建DataFrame
from dataclasses import make_dataclass
mydata = make_dataclass("mydata", [("result", str), ("value", int)])
df7 = pd.DataFrame([mydata("positive", 0), mydata("negative", 3), mydata("positive", 3)])
print(df7)

运行结束后,输出结果:

#df1
xuhao    result  value
0      3  negative      2
1      4  negative      6
2     11  positive      0
3     12  positive      2
xuhao      int64
result    object
value      int64
dtype: object
#df2
   xuhao    result  value
0      3  negative      2
1      4  negative      6
2     11  positive      0
3     12  positive      2
xuhao       int8
result    object
value       int8
dtype: object
#df3
   xuhao    result  value
0      3  negative    NaN
1      4  negative    NaN
2     11  positive    2.0
3     12  positive    3.0
#df4
  xuhao    result value
0     3  negative     2
1     4  negative     6
2    11  positive     0
3    12  positive     2
#df5
   xuhao  result  value
0      1       3      2
1      2       4      6
2      3       1      0
3      4       3      2
#df6
   result  value
0       3      2
1       4      6
2       1      0
3       3      2
#df7
     result  value
0  positive      0
1  negative      3
2  positive      3

 

标签:value,positive,negative,DataFrame,result,数据结构,pandas,xuhao
From: https://www.cnblogs.com/chaimy/p/17352333.html

相关文章

  • pandas.DataFrame.groupby—使用映射器或通过一系列列对数据框进行分组
    语法格式DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=_NoDefault.no_default, squeeze=_NoDefault.no_default, observed=False, dropna=True)常用的几个参数解释:by:可接受映射、函数、标签或标签列表。用于确定分组。ax......
  • 数据结构之“线性表(数组)”
    前言:线性表:几个具有相同特性的数据元素的有限序列,线性表在逻辑上是线性结构,也就是连续的一条直线顾名思义“线性表”成一条线的表,在IT领域的数据结构中也有很多能看到的线性表,如“人员花名册”,“网络商品”,“图书名单系统”等等,都是一个个信息紧跟着排好供我们选择浏览等等~但这些......
  • C++数据结构(队列)
    队列是先进先出的线性表顺序队列顺序存储,使用一段连续的内存空间去依次存储队列中的数据代码实现:#include<iostream>#defineMaxSize10template<typenameT>classSeqQueue{public:SeqQueue();~SeqQueue();public:boolEnQueue(constT&e);b......
  • python结合pandas把excel列转行
    需求,在实际工作中,需要对比两个表格的数据,但是A表格的行和B表格的列做对比,但是由于环境的限制,不能用sql去进行列转行操作,就利用pandas进行一个简单的列转行(没有复合表头)。这种没有多个sheet情况,多个sheet的情况需要切换到需要的sheet内。首先下载pandas,pipinstallpandas 然后......
  • C++数据结构(栈)
    栈是一种受限的线性表,将允许插入和删除的操作的一端称为栈顶,另一端称之为栈底,向栈中插入元素叫入栈,删除元素叫出栈。栈被称为是后进先出的线性表(LIFO)顺序栈顺序存储,即使用一段连续内存空间依次存储栈中数据。这里通过一维数组动态分配内存的方式保存数据定义代码如下:#defi......
  • redis linux下安装 redis启动方式 redis典型场景 redis通用命令 数据结构和内部编码 r
    内容回顾#dockerfile命令 RUNCOPYADDENVEXPOSEWORKDIRCMD:可以用新命令覆盖的ENTRYPOINT:不可以被覆盖#容器要运行,必须有个前台进程#dockerfile部署图书管理系统项目 FROMpython:3.8MAINTAINERlqzWORKDIR/soft......
  • 盘点6个Pandas中批量替换字符的方法
    今日鸡汤朱雀桥边野草花,乌衣巷口夕阳斜。大家好,我是Python进阶者。一、前言前几天在Python最强王者群有个叫【dcpeng】的粉丝问了一个关于Pandas中的问题,这里拿出来给大家分享下,一起学习。想问一下我有一列编码为1,2,3,4的数据,如何将1批量换为“开心”,2批量换为“悲伤”这种字符替换呢......
  • 盘点一道使用pandas.groupby函数实战的应用题目
    今日鸡汤声喧乱石中,色静深松里。大家好,我是我是Python进阶者。一、前言前几天Python青铜群有个叫【假装新手】的粉丝问了一个数据分析的问题,这里拿出来给大家分享下。一开始以为只是一个简单的去重问题而已,【编程数学钟老师】大佬提出使用set函数,后来有粉丝发现其实没有想的这么简......
  • 数据结构与算法跳表之java实现
    跳表一个有序链表的搜索、添加、删除的平均时间复杂度都为O(n),那么能否利用二分搜索优化有序链表,将搜索、添加、删除的平均时间复杂度降低至O(logn)呢?链表没有像数组那样的高效随机访问(O(1)时间复杂度),所以不能像有序数组那样直接进行二分搜索优化。那有没有其他办法让有序链表的搜......
  • 数据结构之布隆过滤器
    布隆过滤器如果要经常判断某个元素是否存在,你会怎么做?很容易想到使用哈希表(HashSet、HashMap),将元素作为key去查找。时间复杂度为O(1),但是空间利用率不高,需要占用比较多的内存资源。如果需要编写一个网络爬虫去爬10亿个网站数据,为了避免爬到重复的网站,如何判断某个网站是否爬过?很显......