关于python数据包:Pandas数据结构DataFrame的访问的一些问题

Pandas DataFrame是二维大小可变的,可能异构的表格数据结构,带有标记的轴(行和列)。数据框是二维数据结构,即数据以行和列的表格形式对齐。Pandas DataFrame由三个主要组件组成,即数据,行和列。
关于python数据包:Pandas数据结构DataFrame的访问的一些问题

创建Pandas DataFrame

在实际当中,将通过加载现有的载数据集来创建Pandas的DataFrame,现有数据可以是SQL数据库,CSV文件和Excel文件。Pandas DataFrame可以从列表,字典和字典列表等创建。可以通过不同的方式创建Dataframe。

  1. 使用List创建数据框:可以使用单个列表或列表列表创建DataFrame。
# coding=utf-8
import pandas as pd
 
#创建一个list
lst = ['Geeks', 'For', 'Geeks', 'is', 
            'portal', 'for', 'Geeks']
 
# 创建dataframe
df = pd.DataFrame(lst)
print(df)

输出为:
关于python数据包:Pandas数据结构DataFrame的访问的一些问题

  1. 通过字典创建DataFrame:
#coding=utf-8
import pandas as pd
 
# intialise data of lists.
data = {'Name':['Tom', 'nick', 'krish', 'jack'],
        'Age':[20, 21, 19, 18]}
 
# Create DataFrame
df = pd.DataFrame(data)
 
# Print the output.
print(df)

输出为:
关于python数据包:Pandas数据结构DataFrame的访问的一些问题

处理行和列

数据框是二维数据结构,即数据以行和列的表格形式对齐。我们可以对行/列执行基本操作,如选择,删除,添加和重命名。

列选择:为了在Pandas DataFrame中选择一列,我们可以通过列名称调用列来访问列。

import pandas as pd
#注意,通过字典直接创建DataFrame时每个key对应的value的元素个数需要一样
data = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'],
        'Age':[27, 24, 22, 32],
        'Address':['Delhi', 'Kanpur', 'Allahabad', 'Kannauj'],
        'Qualification':['Msc', 'MA', 'MCA', 'Phd']}
 
df = pd.DataFrame(data)
 
# 选择列名为Name以及Qualification的两个列
print(df[['Name', 'Qualification']])

输出:
关于python数据包:Pandas数据结构DataFrame的访问的一些问题
行选择: Pandas提供了一种从数据框中检索行的唯一方法。DataFrame.loc[]方法用于从Pandas DataFrame中检索行。也可以通过将整数位置传递给iloc []函数来选择行。
二者的区别:假设有一个DataFrame的数据块名称为df,那么df.loc[]当中的参数为需要输出的行和列的名称(输入的是字符串),如df.loc[‘Lily’,‘Name’],表示输出的Lily行的Name的列。而df.iloc[]这是直接传入整数索引,例如df.iloc[3,2]表示的是第4行3列(从0开始算起)

import pandas as pd
data = pd.read_csv("nba.csv", index_col ="Name")
 
# 使用loc方法选择行
first = data.loc["Avery Bradley"]
second = data.loc["R.J. Hunter"]
print(first, "\n\n\n", second)

输出:
关于python数据包:Pandas数据结构DataFrame的访问的一些问题
使用.iloc[ ]方法索引DataFrame :
为了使用选择单行.iloc[],我们可以传递一个整数来.iloc[]运行。

import pandas as pd
data = pd.read_csv("nba.csv", index_col ="Name")
row2 = data.iloc[3] #输出第四行(从0行开始算)
#row2=df.iloc[:,3]#输出第四列
#row2=df.iloc[2:5,1:3]#输出对应的部分行以及列
print(row2)

输出:
关于python数据包:Pandas数据结构DataFrame的访问的一些问题
更多解释,清参考:Pandas DataFrame
使用Pandas索引和选择数据