# -*-coding:utf-8 -*-
# author:lz
from pandas import DataFrame, np
def DataFrame_info():
''''''
'''DataFrame是一个表格型的数据结构,DataFrame中的数据是以一个或多个二维快存放的。'''
'''1、创建一个DataFrame
方法很多,最常见的是直接传入一个由等长列表或NUmPy数组组成的字典
'''
data = {'state':['哈','呵','嘿','吼'],
'year':[2000,2001,2002,2003],
'pop':[1,2,3,4],
}
frame = DataFrame(data,
columns=['pop','year','state'], # 指定列名顺序
index=['a','b','c','d'] # 指定索引,默认为0到N-1
)
print(frame)
frame4 = frame.ix[:] # 也是获取所有列
print(frame4)
'''2、获取某一列'''
frame2 = frame['state']
frame3 = frame.state
print(frame2)
print(frame3)
'''3、获取某一行'''
print("========获取某一行========")
row = frame.ix['c'] # 指定行索引
row1 = frame.ix[0] # 指定行号
print(row)
print(row1)
print(type(row)) # <class 'pandas.core.series.Series'>
'''4、同时获取指定行和列上的值'''
print("========同时获取指定行和列上的值========")
frame5 = frame.ix['c','state']
print(frame5)
print(type(frame5))
exit()
'''4、在算术方法中填充值'''
df1 = DataFrame(np.arange(12.).reshape((3,4)),columns=list('abcd'))
df2 = DataFrame(np.arange(20.).reshape((4,5)),columns=list('abcde'))
# 将他们相加时,没有重叠的位置就会产生NA值
df3 = df1+df2
print(df3)
# 解决方法:使用df1的add方法,传入f2以及一个fill_value参数
df4 = df1.add(df2,
fill_value=0 # 这里并不是指定nan值为0,而是将不重叠的值原样输出(要与Serise区别开来)
)
print(df4)
if __name__ == '__main__':
DataFrame_info()
Dataframe
最新推荐文章于 2024-06-25 14:57:14 发布