pandas_DataFrame笔记

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

功能特点:

    潜在的列是不同的类型

    大小可变

    标记轴(行和列)

    可以对行和列执行算术运算

构造函数:

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

data:各种形式的数据,ndarray,series,map,lists,dict,constant和另一个DataFrame //原文出自【易百教程】,商业转载请联系作者获得授权,非商业转

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

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

dtype:每一列的数据类型

copy:如果默认值是false,则此命令用于复制数据

 

 

数据帧(DataFrame)创建:

    可以使用各种输入创建,列表,字典,Series,Numpy ndarrays, 另一个DataFrame

 

 

    创建一个空的DataFrame

import pandas as pd

 

df = pd.DataFrame()

print(df)

 

从列表创建DataFrame

import pandas as pd

data = [1,2,3,4,5]

df = pd.DataFrame(data)

print(df)

 

import pandas as pd

 

# data = [['aaron', 30], ['willis', 28], ['jax', '26'], ['max', 29]]

# df = pd.DataFrame(data, columns=['name', 'age'])

# print(df)

data = [['aaron', 30], ['willis', 28], ['jax', '26'], ['max', 29]]

df = pd.DataFrame(data, columns=['name', 'Age'], dtype=float)

print(df)

 

从ndarrays/lists的字典来创建DataFrame

所有的ndarrays必须具有相同的长度。如果传递了索引(index),则索引的长度应等于数组的长度,如果没有传递

索引,默认情况下,索引将为range(n),其中n为数组的长度。

import pandas as pd

 

data = {'Name':['aaron', 'victoria', 'max', 'jax', 'willis'], 'Age':[28,27,26,24,29]}

df = pd.DataFrame(data)

print(df)

 

使用数组创建一个索引的数据帧

import pandas as pd

 

data = {'Name': ['aaron', 'victoria', 'max', 'jax', 'willis'], 'Age': [28, 27, 26, 24, 29]}

df = pd.DataFrame(data, index=['rank1', 'rank2', 'rank3', 'rank4', 'rank5'])

print(df)

 

字典列表可作为输入数据传递以用来创建数据帧,字典默认为列名

import pandas as pd

data = [{'name':'jax'},{'name':'aaron', 'age':29}, {'name':'Jaosn', 'age':36},{'name':'max','age':29}]

df = pd.DataFrame(data)

print(df)

 

import pandas as pd

data = [{'name':'jax'},{'name':'aaron', 'age':29}, {'name':'Jaosn', 'age':36},{'name':'max','age':29}]

df = pd.DataFrame(data, index=['First','Second', 'Third', 'Fouth'])

print(df)

 

使用字典,行索引和列索引列表创建数据帧

 

 

从Series的字典来创建DataFrame

字典的系列可以传递以行程单一个DataFrame, 所得到的索引是通过的所有系列索引的并集。

 

import pandas as pd

 

d = {'one':pd.Series([1,2,3], index=['a', 'b', 'c']),

'two':pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(d)

print(df)

 

 

列选择

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a', 'b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

 

df = pd.DataFrame(d)

 

print(df['one'])

print(df['two'])

 

列添加

#下面通过 向现有数据框添加一个新列来说明

 

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a','b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

df = pd.DataFrame(d)

print("Adding a new column by passing as Series:")

df['three'] = pd.Series([10,20,30], index=['a', 'b', 'c'])

print('df1:',df)

print("Adding a new column using the existing columns in dataframe:")

df['four'] = df['one'] + df['three']

print('df2', df)

 

列删除

#列可以删除或弹出

 

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a', 'b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd']),

'three': pd.Series([10,20,30], index=['a', 'b', 'c'])}

df = pd.DataFrame(d)

print("our dataframe is :")

print('df:',df)

 

print("Deleting the first column using DEL function:")

del df['one']

print('del:', df)

 

print("Deleting another column using pop function:")

df.pop('two')

print('pop:',df)

 

 

行选择添加和删除

1、标签选择

     #通过将行标签传递给loc()函数来选择行

 

 

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a', 'b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

 

df = pd.DataFrame(d)

print('loc function:\n ', df.loc['b'])

 

2、按整数位置选择

    #通过将行标签传递给loc()函数来选择行

 

 

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a', 'b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

 

df = pd.DataFrame(d)

#print('loc function:\n ', df.loc['b'])

 

#将整数位置传递给iloc()函数来选择行

print('iloc', df.iloc[2])

 

 

行切片

import pandas as pd

 

d = {'one': pd.Series([1,2,3], index=['a', 'b', 'c']),

'two': pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])}

 

df = pd.DataFrame(d)

print(df[2:4])

 

附加行

 

#使用append()函数将新行添加到DataFrame

 

import pandas as pd

 

df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])

df2 = pd.DataFrame([[5,6],[7,8]],columns=['a', 'b'])

#print(df)

#print(df2)

df = df.append(df2)

print('df:',df)

 

 

删除行

import pandas as pd

 

df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])

df2 = pd.DataFrame([[5,6],[7,8]],columns=['a', 'b'])

df = df.append(df2)

 

df = df.drop(0)

print(df)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值