如何创建一个DataFrame的基本方法和使用的几种方法

目录

一,创建方法

.使用Pandas创建DataFrame:1

2.创建一个空的DataFrame: 需要调用DataFrame构造函数来创建DataFrame

3.用列表创建DataFrame,每个列表元素代表一行数据:

4.用字典创建DataFrame:

5.用csv文件读取数据创建DataFrame:

6.使用Series创建DataFrame:

7.元组创建的方式和列表比较类似:可以是单层元组,也可以进行嵌套。

单层元组创建:

元组的嵌套:

8.通过numpyndarray创建:

二、方法

在DataFrame数组中添加其他DataFrame数组——concat()函数:

DataFrame数组中列与列之间的运算:

两种删除列的方法——del 和pop():

del:

依然可以删除任意一列

 基本数据操作:增删改查

DataFrame轴的概念


前言:

       DataFrame是一种二维表格数据结构,类似于电子表格或SQL数据库中的数据表。它由多个列组成,每列可以包含不同类型的数据,如整数、浮点数、字符串等。DataFrame具有以下特点:-可以同时存储多个类型的数据。-行和列都有标签,方便数据的索引和操作。-提供了丰富的数据处理和分析函数。创建DataFrame在Python中,我们可以通过多种方式创建DataFrame对象

pandas.DataFrame()函数可以返回给定形状和数据类型的数据框,其主要参数如下:

data:表示数据,可以是ndarray数组、Series对象、列表、字典等。

index:表示行标签(索引)。

columns:列标签(索引)。

dtype:每一列数据的数据类型,其与Python数据类型有所不同,如object数据类型对应的是Python的字符型。

copy:用于复制数据

一,创建方法

.使用Pandas创建DataFrame:1

pandas.DataFrame(data,index,columns,dtype,copy)

2.创建一个空的DataFrame: 需要调用DataFrame构造函数来创建DataFrame

df = pd.DataFrame()

3.用列表创建DataFrame,每个列表元素代表一行数据:

data = [[4, 7, 10],

[5, 8, 11],

[6, 9, 12]]

df = pd.DataFrame(data, columns=['A', 'B', 'C'])

df

4.用字典创建DataFrame:

通过字典创建DataFrame,需要注意:字典中的value值只能是一维数组或单个的简单数据类型,如果是数组,要求所用数组长度一致;如果是单个数据,则每行都添加相同的数据。

merge_dt_dict = {'date':date_list,

'update':update_list,

'serverip':serverip_list}

data_df = DataFrame(merge_dt_dict)

5.用csv文件读取数据创建DataFrame:


import pandas as pd
 
# 从CSV文件创建DataFrame对象
filepath = "data.csv" # CSV文件路径
df_from_csv = pd.read_csv(filepath)
print("\nFrom CSV File:\n", df_from_csv)

6.使用Series创建DataFrame:

Series 简介。
Series是一维结构,由一组数据和一组与之相关的数据标签(索引)组成。序列结构只有行索引(row index),没有列名称(column name),但是序列有Name、dtype和index属性,其中Name属性是指序列的名称,dtype属性是指序列值的类型,index属性是序列的索引。
 

series = {'水果':Series(['苹果','梨','草莓']),
          '数量':Series([60,50,100]),
          '价格':Series([7,5,18])
         }

df15 = pd.DataFrame(series)
df15

7.元组创建的方式和列表比较类似:可以是单层元组,也可以进行嵌套。

单层元组创建:

# 单层元组

tup = ("小明","小红","小周","小孙")
df12 = pd.DataFrame(tup,columns=["姓名"])

df12

元组的嵌套:

# 嵌套元组

tup = (("小明","20","男"),
       ("小红","23","女"),
       ("小周","19","男"),
       ("小孙","28","男")
      )

df13 = pd.DataFrame(tup,columns=["姓名","年龄","性别"])
df13

8.通过numpyndarray创建:

arr=np.random.randn(6,4)

index_rows=pd.date_range('today',periods=6)

index_columns=['A','B','C','D']

dataframe1=

pd.DataFrame(arr,index=index_rows,columns=index_columns)

dataframe1

二、方法

在DataFrame数组中添加其他DataFrame数组——concat()函数:

chart = {
    "ID": ["1", "2", "3", "4", "5"],
    "name": ["abi", "baxi", "cine", "deker", "ebby"],
    "gender": [True, False, True, False, False],
    "age": [19, 10, 29, 19, 29],
    "score": [99, 40, 89, 70, 30]
}
finalChart = pd.DataFrame(chart)
 
bChat = {
    "height": [12, 13, 13, 14, 13]
}
bChat1 = pd.DataFrame(bChat)
 
# 以上创建两个DataFrame
'''axis=1'''
finalChart = pd.concat([finalChart, bChat1], axis=1)
print(finalChart)
'''
  ID   name  gender  age  score  height
0  1    abi    True   19     99      12
1  2   baxi   False   10     40      13
2  3   cine    True   29     89      13
3  4  deker   False   19     70      14
4  5   ebby   False   29     30      13
'''
 
finalChart = pd.concat([bChat1, finalChart], axis=1)
'''两个数组位置调换'''
print(finalChart)
'''
   height ID   name  gender  age  score
0      12  1    abi    True   19     99
1      13  2   baxi   False   10     40
2      13  3   cine    True   29     89
3      14  4  deker   False   19     70
4      13  5   ebby   False   29     30
'''

pandas里面也可以使用append(),不过会出现即将删除append()的提示,并建议使用concat(),可以认为这两个函数是相同的,但是,千万不要和numpy中的append()函数混淆!

DataFrame数组中列与列之间的运算:

加减乘除:(举两个例子:加法、求整数商)

dd = {'one': pd.Series([11, 22, 33, 99], index=[1, 2, 3, 4]),
      'two': pd.Series([55, 66, 7], index=[1, 2, 3], dtype=int)}
dc = pd.DataFrame(dd)
 
dc['three'] = pd.DataFrame([23, 4, 566, 88], index=[1, 2, 3, 4])
'''
   one   two  three
1   11  55.0     23
2   22  66.0      4
3   33   7.0    566
4   99   NaN     88
'''
 
'加法'
dc['four'] = dc['three'] + dc['two']
print(dc)
'''
   one   two  three   four
1   11  55.0     23   78.0
2   22  66.0      4   70.0
3   33   7.0    566  573.0
4   99   NaN     88    NaN
'''
 
'求整数商'
dc['four'] = dc['three'] // dc['two']
print(dc)
'''
   one   two  three  four
1   11  55.0     23   0.0
2   22  66.0      4   0.0
3   33   7.0    566  80.0
4   99   NaN     88   NaN
'''
 

两种删除列的方法——del 和pop():

del:

del dc['three']
print(dc)
'''
   one   two   four
1   11  55.0   78.0
2   22  66.0   70.0
3   33   7.0  573.0
4   99   NaN    NaN
'''


pop():

依然可以删除任意一列
dc.pop('two')  # 不需要赋值,直接在数组上进行运算,pop函数内传入的参数名就是列名。
print(dc)
'''
   one   four
1   11   78.0
2   22   70.0
3   33  573.0
4   99    NaN
'''
 基本数据操作:增删改查
df.columns
df.index
print(df.values)
print(7 in df.values)
# 获取DataFrame的所有列
columns = df.columns
# 获取特定列的数据
name_column = df['Name']
# 获取特定行的数据
row = df.loc[0]  # 使用标签索引
# 添加新列
df['Gender'] = ['F', 'M', 'M']
# 删除列
df = df.drop('Age', axis=1)
# 删除行
df = df.drop(0)
# 根据条件筛选数据
filtered_df = df[df['Age'] > 20]
 

DataFrame轴的概念

在DataFrame的处理中经常会遇到轴的概念,这里先给大家一个直观的印象,我们所说的axis=0即表示沿着每一列或行标签\索引值向下执行方法,axis=1即表示沿着每一行或者列标签模向执行对应的方法。

以上就是Python中创建Dataframe和使用的方法,有需要的可以直接套入使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值