数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列。 数据帧(DataFrame)的功能特点:

  • 潜在的列是不同的类型
  • 大小可变
  • 标记轴(行和列)
  • 可以对行和列执行算术运算

pandas.DataFrame

_pandas_中的DataFrame可以使用以下构造函数创建 - pandas.DataFrame( data, index, columns, dtype, copy)

Python

构造函数的参数如下 -

编号

参数

描述

1

data

数据采取各种形式,如:ndarrayseriesmaplistsdictconstant和另一个DataFrame

2

index

对于行标签,要用于结果帧的索引是可选缺省值np.arrange(n),如果没有传递索引值。

3

columns

对于列标签,可选的默认语法是 - np.arange(n)。 这只有在没有索引传递的情况下才是这样。

4

dtype

每列的数据类型。

5

copy

如果默认值为False,则此命令(或任何它)用于复制数据。

创建DataFrame

Pandas数据帧(DataFrame)可以使用各种输入创建,如 -

  • 列表
  • 字典
  • 系列
  • Numpy ndarrays
  • 另一个数据帧(DataFrame)

import pandas as pd

df = pd.DataFrame() # 创建一个空的dataframe
data = [1, 2, 3, 4, 5]
df1 = pd.DataFrame(data)
print(df1) # 使用单列表创建
data = [[‘Alex’, 10], [‘Bob’, 12], [‘Clarke’, 13]]
df2 = pd.DataFrame(data, columns=[‘Name’, ‘Age’])
print(df2) # 使用列表的列表创建
data = {‘Name’: [‘Tom’, ‘Jack’, ‘Steve’, ‘Ricky’], ‘Age’: [28, 34, 29, 42]}
df3 = pd.DataFrame(data)
print(df3) # 从ndarrays/Lists的字典来创建DataFrame
df4 = pd.DataFrame(data, index=[‘rank1’, ‘rank2’, ‘rank3’, ‘rank4’])
print(df4) # 创建一个索引的数据帧(DataFrame)
data = [{‘a’: 1, ‘b’: 2}, {‘a’: 5, ‘b’: 10, ‘c’: 20}]
print(pd.DataFrame(data)) # 字典列表 创建
print(pd.DataFrame(data, index=[‘first’, ‘second’]))
df5 = pd.DataFrame(data, index=[‘first’, ‘second’], columns=[‘a’, ‘b1’])
print(df5) # 列不存在 附加上 NaN
d = {‘one’: pd.Series([1, 2, 3], index=[‘a’, ‘b’, ‘c’]),
‘two’: pd.Series([1, 2, 3, 4], index=[‘a’, ‘b’, ‘c’, ‘d’])}
df6 = pd.DataFrame(d)
print(df6) # 字典的系列
print(“-----------------------------------------------”)
print(df6[‘one’]) # 选择列
df6[‘three’] = pd.Series([10, 20, 30], index=[‘a’, ‘b’, ‘c’]) # 列添加
df6[‘four’] = df6[‘one’] + df6[‘three’] # 列组合添加
print(df6)
del (df6[‘four’]) # 列删除
df6.pop(‘three’) # 列弹出
print(df6)
print(“-----------------------------------------------”)
print(df6.loc[‘b’]) # 行选择
print(df6.iloc[2]) # 按整数位置选择
print(print(df6[2:4])) # 使用切片选择行
df7 = pd.DataFrame([[1, 2], [3, 4]], columns=[‘a’, ‘b’])
df8 = pd.DataFrame([[5, 6], [7, 8]], columns=[‘a’, ‘b’])
print(df7.append(df8)) # 附加行
print(df6.drop(‘a’)) # 删除行

代码 Github地址:https://github.com/shadowagnoy/python_learn/