""""""import pandas as pd# 将pandas作为第三方库导入,我们一般为pandas取一个别名叫做pdpd.set_option('expand_frame_repr', False) # 当列太多时显示不清楚# =====导入数据#df = pd.read_excel(# 该参数为数据在电脑中的路径,# 要注意字符串转义符号 \ ,可以使用加r变为raw string或者每一个进行\\转义# filepath_or_buffer=r'C:\Users\llj\Documents\Python\1.xlsx',# 编码格式,不同的文件有不同的编码方式,一般文件中有中文的,编码是gbk,默认是utf8# ** 大家不用去特意记住很多编码,我们常用的就是gbk和utf8,切换一下看一下程序不报错就好了# encoding='gbk',# 该参数代表跳过数据文件的的第1行不读入#skiprows=1,# nrows=15,# parse_dates=['交易日期'],# 将指定列设置为index。若不指定,index默认为0, 1, 2, 3, 4...#index_col=['交易日期'],#)df=pd.read_excel('C:/Users/llj/Documents/Python/1.xlsx',index_col='股票简称')print(df)'''股票代码 股票简称 现价(元) 涨跌幅(%)0 810 创维数字 25.21 1.9411 600256 广汇能源 12.50 7.8522 2444 巨星科技 27.02 -0.1113 2416 爱施德 10.44 -0.2874 601155 新城控股 21.51 4.1145 2831 裕同科技 30.19 2.7576 1914 招商积余 17.50 1.4497 603979 金诚信 21.25 7.3788 2372 伟星新材 20.72 5.4459 600153 建发股份 11.48 2.226'''print('---------------查看数据------------------')#.shape可以输出dataframe有多上行和列print(df.shape) #(10, 4)#如果只是查看dateframe有多少行print(df.shape[0]) #10#查看dateframe有多少列print(df.shape[1]) #4print(df.shape[-1]) #4print('---')#输出每一列的列标签print(df.columns) #Index(['股票代码', '股票简称', '现价(元)', '涨跌幅(%)'], dtype='object')#另一个方法是用for遍历for i in df.columns:print(i)'''股票代码股票简称现价(元)涨跌幅(%)'''print('---')#输出每一行的行标签print(df.index) #默认情况下是:RangeIndex(start=0, stop=10, step=1)#如果在读取文件时,设置了index_col=参数,那么就是将指定的一列中的每个元素作为每一行的行标签'''Index(['创维数字', '广汇能源', '巨星科技', '爱施德', '新城控股', '裕同科技', '招商积余', '金诚信', '伟星新材','建发股份'],dtype='object', name='股票简称')'''print('---')#遍历每一行的行标签print(df.index)'''Index(['创维数字', '广汇能源', '巨星科技', '爱施德', '新城控股', '裕同科技', '招商积余', '金诚信', '伟星新材','建发股份'],dtype='object', name='股票简称')'''#同样可以使用for来遍历for i in df.index:print(i)'''创维数字广汇能源巨星科技爱施德新城控股裕同科技招商积余金诚信伟星新材建发股份'''print('---------')#查看每一列数据的数据类型''' 在读取文件时,parse_dates=''可以将指定列的数据类型设置为日期类型此外读取的列中不包含index,如果前期将某一列设置为index,那么读取结果不会包含这一列'''print(df.dtypes)'''股票代码 int64现价(元) float64涨跌幅(%) float64dtype: object'''print('---')#查看前几行的数据,默认前5行,可以自定义参数print(df.head())'''股票代码 现价(元) 涨跌幅(%)股票简称创维数字 810 25.21 1.941广汇能源 600256 12.50 7.852巨星科技 2444 27.02 -0.111爱施德 2416 10.44 -0.287新城控股 601155 21.51 4.114'''print('---')#查看最后几列的数据,默认最后5列print(df.tail(1))'''股票代码 现价(元) 涨跌幅(%)股票简称建发股份 600153 11.48 2.226'''print('---')'''查看随机几行的数据,或者随机查看百分之几十的数据,可以使用.sample()两种查看方法使用的参数写法不同,前者是n=指定行数,后者是frac=比例,查看10%就将值设为0.1'''print(df.sample(n=1))''' 股票代码 现价(元) 涨跌幅(%)股票简称广汇能源 600256 12.5 7.852'''print('---')print(df.sample(frac=0.2))'''股票代码 现价(元) 涨跌幅(%)股票简称建发股份 600153 11.48 2.226广汇能源 600256 12.50 7.852'''print('---')#.describe()可以查看查看每一列数据的总和信息,包括数量、中位数、标准差、最小值、最大值等print(df.describe())'''股票代码 现价(元) 涨跌幅(%)count 10.000000 10.000000 10.00000mean 241833.000000 19.782000 3.27640std 309455.907316 6.754672 2.86418min 810.000000 10.440000 -0.2870025% 2383.000000 13.750000 1.5720050% 2637.500000 20.985000 2.4915075% 600230.250000 24.285000 5.11225max 603979.000000 30.190000 7.85200'''print('-----------------修改print()的输出结果--------------------')'''当列的数量过多时,print()之后默认会用...省略几列,使用pandas的.set_option('expand_frame_repr',False),可以print出所有的列'''#pd.set_option('expand_frame_repr',False)'''当要print的数据表的行数过多,pandas默认也会省略一些行,要是想要自己设定显示的行数,可以通过pandas的.set_option("display.max_rows",行数),如果设置显示200行,会print出前100行与后100行'''#pd.set_option('display.max_rows',666)'''要设置print出的小数的显示位数,比如原数据是6位小数,但只print2位小数,可以使用pandas的.set_option('precision',小数位数),这个功能只会影响显示效果,并不会修改原始数据'''#pd.set_option('precision',1)#pd.set_option('precision', 1) # 浮点数的精度#print(pd)'''但不知什么原因,我这里的输出结果是:<module 'pandas' from 'D:\\1\\anaconda3\\lib\\site-packages\\pandas\\__init__.py'>'''#选取指定的一列或多列print(df['股票代码']) #会将index一起打印出来,此处index是股票简称'''股票简称创维数字 810广汇能源 600256巨星科技 2444爱施德 2416新城控股 601155裕同科技 2831招商积余 1914金诚信 603979伟星新材 2372建发股份 600153Name: 股票代码, dtype: int64'''print('---')print(df[['股票代码','涨跌幅(%)']]) #选取多列还需要一个大的中括号'''股票代码 涨跌幅(%)股票简称创维数字 810 1.941广汇能源 600256 7.852巨星科技 2444 -0.111爱施德 2416 -0.287新城控股 601155 4.114裕同科技 2831 2.757招商积余 1914 1.449金诚信 603979 7.378伟星新材 2372 5.445建发股份 600153 2.226'''print('---')#选取指定的一行df=pd.read_excel('C:/Users/llj/Documents/Python/1.xlsx',index_col='股票简称')print(df.loc['广汇能源'])'''股票代码 600256.000现价(元) 12.500涨跌幅(%) 7.852Name: 广汇能源, dtype: float64'''print('---')#选取指定的多行print(df.loc[['建发股份','广汇能源']])'''股票代码 现价(元) 涨跌幅(%)股票简称建发股份 600153 11.48 2.226广汇能源 600256 12.50 7.852'''print('---')#选取连续的多列,类似于list的切片操作print(df.loc['创维数字':'招商积余'])'''股票代码 现价(元) 涨跌幅(%)股票简称创维数字 810 25.21 1.941广汇能源 600256 12.50 7.852巨星科技 2444 27.02 -0.111爱施德 2416 10.44 -0.287新城控股 601155 21.51 4.114裕同科技 2831 30.19 2.757招商积余 1914 17.50 1.449'''#选取所有的行,以及指定的多列print(df.loc[:,'现价(元)':'涨跌幅(%)']) #:前后留空表示选取所有,逗号之后,'现价(元)':'涨跌幅(%)'表示选取从现价到涨跌幅所有的列'''现价(元) 涨跌幅(%)股票简称创维数字 25.21 1.941广汇能源 12.50 7.852巨星科技 27.02 -0.111爱施德 10.44 -0.287新城控股 21.51 4.114裕同科技 30.19 2.757招商积余 17.50 1.449金诚信 21.25 7.378伟星新材 20.72 5.445建发股份 11.48 2.226'''print('---')#旋球指定的多行的某一列的数据print(df.loc['广汇能源':'招商积余','涨跌幅(%)'])'''股票简称广汇能源 7.852巨星科技 -0.111爱施德 -0.287新城控股 4.114裕同科技 2.757招商积余 1.449Name: 涨跌幅(%), dtype: float64'''print('---')#选取所有的行和所有的列print(df.loc[:,:])'''股票代码 现价(元) 涨跌幅(%)股票简称创维数字 810 25.21 1.941广汇能源 600256 12.50 7.852巨星科技 2444 27.02 -0.111爱施德 2416 10.44 -0.287新城控股 601155 21.51 4.114裕同科技 2831 30.19 2.757招商积余 1914 17.50 1.449金诚信 603979 21.25 7.378伟星新材 2372 20.72 5.445建发股份 600153 11.48 2.226'''print('---')#选取指定的某一行的指定的某一列print(df.loc['广汇能源','现价(元)']) #12.5#指定读取某一行的某一列的单个元素可以使用atprint(df.at['广汇能源','现价(元)']) #12.5'''loc为Selection by Label函数,即按标签选取数据,iloc为按位置选择数据,即第x行、第X列数据,只能输入整数型的参数(索引值)。若要选取第一列的所有数据,可以输入df.iloc[:,0]也就是所有行的第0列,不接受字段名称作为参数,仅支持列字段的位置索引作为参数。第一个参数是行索引,第二个参数是列索引,它们之间有个英文逗号,如果没有逗号就是默认为列为所有列,因为:表示全部可以省略不写'''print('---')print(df.iloc[0]) #选取第一行,也就是引值为0的行'''股票代码 810.000现价(元) 25.210涨跌幅(%) 1.941Name: 创维数字, dtype: float64'''print('---')print(df.iloc[1:3]) #选取索引值1到索引值3之前的行'''股票代码 现价(元) 涨跌幅(%)股票简称广汇能源 600256 12.50 7.852巨星科技 2444 27.02 -0.111'''print('---')#选取所有行的第一列到第三列print(df.iloc[:,0:3])'''股票代码 现价(元) 涨跌幅(%)股票简称创维数字 810 25.21 1.941广汇能源 600256 12.50 7.852巨星科技 2444 27.02 -0.111爱施德 2416 10.44 -0.287新城控股 601155 21.51 4.114裕同科技 2831 30.19 2.757招商积余 1914 17.50 1.449金诚信 603979 21.25 7.378伟星新材 2372 20.72 5.445建发股份 600153 11.48 2.226'''print('---')#iloc读取所有的行和所有的列print(df.iloc[:,:])print('---')#iloc的iat类似于loc的at,指定读取第几行第几列的元素(查找时不包含index)print(df.iat[2,1])'''不包含index行标签的索引值为2的行与索引值为1的列的单元格'''# =====看数据# print(df.shape) # 输出dataframe有多少行、多少列。# print(df.shape[0]) # 取行数量,相应的列数量就是df.shape[1]# print(df.columns) # 顺序输出每一列的名字,演示如何for语句遍历。# print(df.index) # 顺序输出每一行的名字,可以for语句遍历。# print(df.dtypes) # 数据每一列的类型不一样,比如数字、字符串、日期等。该方法输出每一列变量类型# print(df.head(3)) # 看前3行的数据,默认是5。与自然语言很接近# print(df.tail(3)) # 看最后3行的数据,默认是5。# print(df.sample(n=3)) # 随机抽取3行,想要去固定比例的话,可以用frac参数# print(df.describe()) # 非常方便的函数,对每一列数据有直观感受;只会对数字类型的列有效# 对print出的数据格式进行修正# pd.set_option('expand_frame_repr', False) # 当列太多时显示不清楚# pd.set_option("display.max_rows", 1000) # 设定显示最大的行数# pd.set_option('precision', 1) # 浮点数的精度# print(df.head())# 更多设置请见http://pandas.pydata.org/pandas-docs/stable/options.html# =====如何选取指定的行、列# print(df['开盘价']) # 根据列名称来选取,读取的数据是Series类型# print(df[['交易日期', '收盘价']]) # 同时选取多列,需要两个括号,读取的数据是DataFrame类型# print(df[['开盘价']])# print(df)# print(df.loc[['1999-11-11', '1999-11-25']])# loc操作:通过label(columns和index的名字)来读取数据# print(df.loc['1999-11-11']) # 选取指定的某一行,读取的数据是Series类型# print(df.loc[['2000-03-30', '2000-07-31']]) # 选取指定的两行# print(df.loc['2000-03-30': '2000-04-30']) # 选取在此范围内的多行,和在list中slice操作类似,读取的数据是DataFrame类型# print(df.loc[:, '开盘价':'最低价']) # 选取在此范围内的多列,读取的数据是DataFrame类型# print(df.loc['2000-03-30': '2000-07-31', '开盘价':'收盘价']) # 读取指定的多行、多列。逗号之前是行的范围,逗号之后是列的范围。读取的数据是DataFrame类型# print(df.loc[:, :]) # 读取所有行、所有列,读取的数据是DataFrame类型# print(df.at['2000-03-30', '开盘价']) # 使用at读取指定的某个元素。loc也行,但是at更高效。# print(df.loc['2000-03-30', '开盘价'])# iloc操作:通过position来读取数据# print(df.iloc[0]) # 以index选取某一行,读取的数据是Series类型# print(df.iloc[1:3]) # 选取在此范围内的多行,读取的数据是DataFrame类型# print(df.iloc[:, 1:3]) # 选取在此范围内的多列,读取的数据是DataFrame类型# print(df.iloc[1:3, 1:3]) # 读取指定的多行、多列,读取的数据是DataFrame类型# print(df.iloc[:, :]) # 读取所有行、所有列,读取的数据是DataFrame类型# print(df.iat[1, 3]) # 使用iat读取指定的某个元素。使用iloc也行,但是iat更高效。# 哪里可以看到全部的函数?http://pandas.pydata.org/pandas-docs/stable/api.html""" """ import pandas as pd # 将pandas作为第三方库导入,我们一般为pandas取一个别名叫做pd pd.set_option('expand_frame_repr', False) # 当列太多时显示不清楚 # =====导入数据 #df = pd.read_excel( # 该参数为数据在电脑中的路径, # 要注意字符串转义符号 \ ,可以使用加r变为raw string或者每一个进行\\转义 # filepath_or_buffer=r'C:\Users\llj\Documents\Python\1.xlsx', # 编码格式,不同的文件有不同的编码方式,一般文件中有中文的,编码是gbk,默认是utf8 # ** 大家不用去特意记住很多编码,我们常用的就是gbk和utf8,切换一下看一下程序不报错就好了 # encoding='gbk', # 该参数代表跳过数据文件的的第1行不读入 #skiprows=1, # nrows=15, # parse_dates=['交易日期'], # 将指定列设置为index。若不指定,index默认为0, 1, 2, 3, 4... #index_col=['交易日期'], #) df=pd.read_excel('C:/Users/llj/Documents/Python/1.xlsx',index_col='股票简称') print(df) ''' 股票代码 股票简称 现价(元) 涨跌幅(%) 0 810 创维数字 25.21 1.941 1 600256 广汇能源 12.50 7.852 2 2444 巨星科技 27.02 -0.111 3 2416 爱施德 10.44 -0.287 4 601155 新城控股 21.51 4.114 5 2831 裕同科技 30.19 2.757 6 1914 招商积余 17.50 1.449 7 603979 金诚信 21.25 7.378 8 2372 伟星新材 20.72 5.445 9 600153 建发股份 11.48 2.226''' print('---------------查看数据------------------') #.shape可以输出dataframe有多上行和列 print(df.shape) #(10, 4) #如果只是查看dateframe有多少行 print(df.shape[0]) #10 #查看dateframe有多少列 print(df.shape[1]) #4 print(df.shape[-1]) #4 print('---') #输出每一列的列标签 print(df.columns) #Index(['股票代码', '股票简称', '现价(元)', '涨跌幅(%)'], dtype='object') #另一个方法是用for遍历 for i in df.columns: print(i) ''' 股票代码 股票简称 现价(元) 涨跌幅(%)''' print('---') #输出每一行的行标签 print(df.index) #默认情况下是:RangeIndex(start=0, stop=10, step=1) #如果在读取文件时,设置了index_col=参数,那么就是将指定的一列中的每个元素作为每一行的行标签 ''' Index(['创维数字', '广汇能源', '巨星科技', '爱施德', '新城控股', '裕同科技', '招商积余', '金诚信', '伟星新材', '建发股份'], dtype='object', name='股票简称')''' print('---') #遍历每一行的行标签 print(df.index) ''' Index(['创维数字', '广汇能源', '巨星科技', '爱施德', '新城控股', '裕同科技', '招商积余', '金诚信', '伟星新材', '建发股份'], dtype='object', name='股票简称')''' #同样可以使用for来遍历 for i in df.index: print(i) ''' 创维数字 广汇能源 巨星科技 爱施德 新城控股 裕同科技 招商积余 金诚信 伟星新材 建发股份''' print('---------') #查看每一列数据的数据类型 ''' 在读取文件时,parse_dates=''可以将指定列的数据类型设置为日期类型 此外读取的列中不包含index,如果前期将某一列设置为index,那么读取结果不会包含这一列''' print(df.dtypes) ''' 股票代码 int64 现价(元) float64 涨跌幅(%) float64 dtype: object''' print('---') #查看前几行的数据,默认前5行,可以自定义参数 print(df.head()) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 创维数字 810 25.21 1.941 广汇能源 600256 12.50 7.852 巨星科技 2444 27.02 -0.111 爱施德 2416 10.44 -0.287 新城控股 601155 21.51 4.114''' print('---') #查看最后几列的数据,默认最后5列 print(df.tail(1)) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 建发股份 600153 11.48 2.226''' print('---') ''' 查看随机几行的数据,或者随机查看百分之几十的数据,可以使用.sample() 两种查看方法使用的参数写法不同,前者是n=指定行数,后者是frac=比例,查看10%就将值设为0.1''' print(df.sample(n=1)) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 广汇能源 600256 12.5 7.852''' print('---') print(df.sample(frac=0.2)) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 建发股份 600153 11.48 2.226 广汇能源 600256 12.50 7.852''' print('---') #.describe()可以查看查看每一列数据的总和信息,包括数量、中位数、标准差、最小值、最大值等 print(df.describe()) ''' 股票代码 现价(元) 涨跌幅(%) count 10.000000 10.000000 10.00000 mean 241833.000000 19.782000 3.27640 std 309455.907316 6.754672 2.86418 min 810.000000 10.440000 -0.28700 25% 2383.000000 13.750000 1.57200 50% 2637.500000 20.985000 2.49150 75% 600230.250000 24.285000 5.11225 max 603979.000000 30.190000 7.85200''' print('-----------------修改print()的输出结果--------------------') '''当列的数量过多时,print()之后默认会用...省略几列,使用pandas的.set_option('expand_frame_repr',False),可以print出所有的列''' #pd.set_option('expand_frame_repr',False) '''当要print的数据表的行数过多,pandas默认也会省略一些行,要是想要自己设定显示的行数,可以通过pandas的.set_option("display.max_rows",行数),如果设置显示200行,会print出前100行与后100行''' #pd.set_option('display.max_rows',666) '''要设置print出的小数的显示位数,比如原数据是6位小数,但只print2位小数,可以使用pandas的.set_option('precision',小数位数),这个功能只会影响显示效果,并不会修改原始数据''' #pd.set_option('precision',1) #pd.set_option('precision', 1) # 浮点数的精度 #print(pd) '''但不知什么原因,我这里的输出结果是: <module 'pandas' from 'D:\\1\\anaconda3\\lib\\site-packages\\pandas\\__init__.py'>''' #选取指定的一列或多列 print(df['股票代码']) #会将index一起打印出来,此处index是股票简称 ''' 股票简称 创维数字 810 广汇能源 600256 巨星科技 2444 爱施德 2416 新城控股 601155 裕同科技 2831 招商积余 1914 金诚信 603979 伟星新材 2372 建发股份 600153 Name: 股票代码, dtype: int64''' print('---') print(df[['股票代码','涨跌幅(%)']]) #选取多列还需要一个大的中括号 ''' 股票代码 涨跌幅(%) 股票简称 创维数字 810 1.941 广汇能源 600256 7.852 巨星科技 2444 -0.111 爱施德 2416 -0.287 新城控股 601155 4.114 裕同科技 2831 2.757 招商积余 1914 1.449 金诚信 603979 7.378 伟星新材 2372 5.445 建发股份 600153 2.226''' print('---') #选取指定的一行 df=pd.read_excel('C:/Users/llj/Documents/Python/1.xlsx',index_col='股票简称') print(df.loc['广汇能源']) ''' 股票代码 600256.000 现价(元) 12.500 涨跌幅(%) 7.852 Name: 广汇能源, dtype: float64''' print('---') #选取指定的多行 print(df.loc[['建发股份','广汇能源']]) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 建发股份 600153 11.48 2.226 广汇能源 600256 12.50 7.852''' print('---') #选取连续的多列,类似于list的切片操作 print(df.loc['创维数字':'招商积余']) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 创维数字 810 25.21 1.941 广汇能源 600256 12.50 7.852 巨星科技 2444 27.02 -0.111 爱施德 2416 10.44 -0.287 新城控股 601155 21.51 4.114 裕同科技 2831 30.19 2.757 招商积余 1914 17.50 1.449''' #选取所有的行,以及指定的多列 print(df.loc[:,'现价(元)':'涨跌幅(%)']) #:前后留空表示选取所有,逗号之后,'现价(元)':'涨跌幅(%)'表示选取从现价到涨跌幅所有的列 ''' 现价(元) 涨跌幅(%) 股票简称 创维数字 25.21 1.941 广汇能源 12.50 7.852 巨星科技 27.02 -0.111 爱施德 10.44 -0.287 新城控股 21.51 4.114 裕同科技 30.19 2.757 招商积余 17.50 1.449 金诚信 21.25 7.378 伟星新材 20.72 5.445 建发股份 11.48 2.226''' print('---') #旋球指定的多行的某一列的数据 print(df.loc['广汇能源':'招商积余','涨跌幅(%)']) ''' 股票简称 广汇能源 7.852 巨星科技 -0.111 爱施德 -0.287 新城控股 4.114 裕同科技 2.757 招商积余 1.449 Name: 涨跌幅(%), dtype: float64''' print('---') #选取所有的行和所有的列 print(df.loc[:,:]) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 创维数字 810 25.21 1.941 广汇能源 600256 12.50 7.852 巨星科技 2444 27.02 -0.111 爱施德 2416 10.44 -0.287 新城控股 601155 21.51 4.114 裕同科技 2831 30.19 2.757 招商积余 1914 17.50 1.449 金诚信 603979 21.25 7.378 伟星新材 2372 20.72 5.445 建发股份 600153 11.48 2.226''' print('---') #选取指定的某一行的指定的某一列 print(df.loc['广汇能源','现价(元)']) #12.5 #指定读取某一行的某一列的单个元素可以使用at print(df.at['广汇能源','现价(元)']) #12.5 ''' loc为Selection by Label函数,即按标签选取数据,iloc为按位置选择数据,即第x行、第X列数据,只能输入整数型的参数(索引值)。 若要选取第一列的所有数据,可以输入df.iloc[:,0]也就是所有行的第0列,不接受字段名称作为参数,仅支持列字段的位置索引作为参数。 第一个参数是行索引,第二个参数是列索引,它们之间有个英文逗号,如果没有逗号就是默认为列为所有列,因为:表示全部可以省略不写 ''' print('---') print(df.iloc[0]) #选取第一行,也就是引值为0的行 ''' 股票代码 810.000 现价(元) 25.210 涨跌幅(%) 1.941 Name: 创维数字, dtype: float64''' print('---') print(df.iloc[1:3]) #选取索引值1到索引值3之前的行 ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 广汇能源 600256 12.50 7.852 巨星科技 2444 27.02 -0.111''' print('---') #选取所有行的第一列到第三列 print(df.iloc[:,0:3]) ''' 股票代码 现价(元) 涨跌幅(%) 股票简称 创维数字 810 25.21 1.941 广汇能源 600256 12.50 7.852 巨星科技 2444 27.02 -0.111 爱施德 2416 10.44 -0.287 新城控股 601155 21.51 4.114 裕同科技 2831 30.19 2.757 招商积余 1914 17.50 1.449 金诚信 603979 21.25 7.378 伟星新材 2372 20.72 5.445 建发股份 600153 11.48 2.226''' print('---') #iloc读取所有的行和所有的列 print(df.iloc[:,:]) print('---') #iloc的iat类似于loc的at,指定读取第几行第几列的元素(查找时不包含index) print(df.iat[2,1]) '''不包含index行标签的索引值为2的行与索引值为1的列的单元格''' # =====看数据 # print(df.shape) # 输出dataframe有多少行、多少列。 # print(df.shape[0]) # 取行数量,相应的列数量就是df.shape[1] # print(df.columns) # 顺序输出每一列的名字,演示如何for语句遍历。 # print(df.index) # 顺序输出每一行的名字,可以for语句遍历。 # print(df.dtypes) # 数据每一列的类型不一样,比如数字、字符串、日期等。该方法输出每一列变量类型 # print(df.head(3)) # 看前3行的数据,默认是5。与自然语言很接近 # print(df.tail(3)) # 看最后3行的数据,默认是5。 # print(df.sample(n=3)) # 随机抽取3行,想要去固定比例的话,可以用frac参数 # print(df.describe()) # 非常方便的函数,对每一列数据有直观感受;只会对数字类型的列有效 # 对print出的数据格式进行修正 # pd.set_option('expand_frame_repr', False) # 当列太多时显示不清楚 # pd.set_option("display.max_rows", 1000) # 设定显示最大的行数 # pd.set_option('precision', 1) # 浮点数的精度 # print(df.head()) # 更多设置请见http://pandas.pydata.org/pandas-docs/stable/options.html # =====如何选取指定的行、列 # print(df['开盘价']) # 根据列名称来选取,读取的数据是Series类型 # print(df[['交易日期', '收盘价']]) # 同时选取多列,需要两个括号,读取的数据是DataFrame类型 # print(df[['开盘价']]) # print(df) # print(df.loc[['1999-11-11', '1999-11-25']]) # loc操作:通过label(columns和index的名字)来读取数据 # print(df.loc['1999-11-11']) # 选取指定的某一行,读取的数据是Series类型 # print(df.loc[['2000-03-30', '2000-07-31']]) # 选取指定的两行 # print(df.loc['2000-03-30': '2000-04-30']) # 选取在此范围内的多行,和在list中slice操作类似,读取的数据是DataFrame类型 # print(df.loc[:, '开盘价':'最低价']) # 选取在此范围内的多列,读取的数据是DataFrame类型 # print(df.loc['2000-03-30': '2000-07-31', '开盘价':'收盘价']) # 读取指定的多行、多列。逗号之前是行的范围,逗号之后是列的范围。读取的数据是DataFrame类型 # print(df.loc[:, :]) # 读取所有行、所有列,读取的数据是DataFrame类型 # print(df.at['2000-03-30', '开盘价']) # 使用at读取指定的某个元素。loc也行,但是at更高效。 # print(df.loc['2000-03-30', '开盘价']) # iloc操作:通过position来读取数据 # print(df.iloc[0]) # 以index选取某一行,读取的数据是Series类型 # print(df.iloc[1:3]) # 选取在此范围内的多行,读取的数据是DataFrame类型 # print(df.iloc[:, 1:3]) # 选取在此范围内的多列,读取的数据是DataFrame类型 # print(df.iloc[1:3, 1:3]) # 读取指定的多行、多列,读取的数据是DataFrame类型 # print(df.iloc[:, :]) # 读取所有行、所有列,读取的数据是DataFrame类型 # print(df.iat[1, 3]) # 使用iat读取指定的某个元素。使用iloc也行,但是iat更高效。 # 哪里可以看到全部的函数?http://pandas.pydata.org/pandas-docs/stable/api.html
1 thought on “pandas查看选取数据”
发表回复
要发表评论,您必须先登录。
*