精华内容
下载资源
问答
  • python-pandas设置打印宽度

    万次阅读 2018-11-25 17:25:35
    pandas设置打印宽度 当未设置打印宽度时,如果有个列存在字符串较长的情况,有可能打印显示为...,如下: 设置打印宽度: import pandas as pd pd.set_option('display.max_colwidth', 20) 可以显示完全: ...

    pandas设置打印宽度

    当未设置打印宽度时,如果有个列存在字符串较长的情况,有可能打印显示为...,如下:

    image.png

    设置打印宽度:

    import pandas as pd
    
    pd.set_option('display.max_colwidth', 20)
    

    可以显示完全:
    image.png

    pandas一些打印设置

    image.png

    使用如下:

    pd.get_option('display.width')
    pd.set_option('display.width', 180)  # 150,设置打印宽度
    ​
    pd.set_option('display.max_rows', None) # 打印最大行数
    pd.set_option('display.max_columns', 40) # 打印最大列数
    
    展开全文
  • python pandas DataFrame 打印一行数据

    万次阅读 2018-11-08 15:39:41
    import pandas as pd df = pd.DataFrame(data=[[1,2,3],[2,3,4]],columns=list('abc')) for i in range(len(df)): row = df.iloc[i].values # 返回一个list print(row) pass 打印结果是: [1 2 3] [2 3 4] ....
    import pandas as pd
    
    df = pd.DataFrame(data=[[1,2,3],[2,3,4]],columns=list('abc'))
    
    for i in range(len(df)):
        row = df.iloc[i].values.tolist()
        print(row)
    

    或者

    for i in range(len(df)):
    	index_val = df.index[i]
    	row = df.loc[index_val].values.tolist()
    	print(row)
    

    打印结果是:
    [1 2 3]
    [2 3 4]

    展开全文
  • Pandas Python 教学 学习教程 1.列表转换为矩阵、显示维度大小 import numpy as np array = np.array([[1,2,3],[4,5,6]]) print(array) #维度 print('number of dim:',array.ndim) print('shape:',array.shape) ...

    视频地址:周莫凡-Numpy & Pandas Python 教学 学习教程

    numpy

    列表转换为矩阵、显示维度大小

    import numpy as np
    array = np.array([[1,2,3],[4,5,6]])
    print(array)
    #维度
    print('number of dim:',array.ndim)
    print('shape:',array.shape)
    print('size:',array.size)
    

    创建不同的array

    定义格式

    #定义为int64位格式
    #单精度:np.float32/64
    a = np.array([1,2.1,3],dtype=np.int)
    print(a.dtype)
    print(a)
    

    零矩阵,zeros((行*列)),两个括号!
    一矩阵,ones(())
    空矩阵,empty,会得到接近于0的矩阵
    有序矩阵,arange(起始值,终止值,步长),注意,不会取到终止值
    reshape调整矩阵大小,也是双括号,要满足符合矩阵元素个数
    生成线段linspace(起始值,终止值,个数),会取终止值,线段个数

    a = np.zeros((3,2))
    print(a)
    a = np.ones((5,2))
    print(a)
    a = np.empty((2,4))
    print(a)
    a = np.arange(10,20,2)
    #输出:[10 12 14 16 18]
    print(a)
    a = np.arange(12).reshape((3,4))
    print(a)
    #输出:[ 1.    3.25  5.5   7.75 10.  ]
    a = np.linspace(1,10,5)
    print(a)
    

    numpy的基础运算

    a = np.array([10,20,30,40])
    b = np.arange(4)
    print(a,b)
    #减法
    c = a-b
    print(c)
    #加法
    c = a+b
    print(c)
    #平方
    c = b**2
    print(c)
    #乘法
    c = a*b
    print(c)
    #sin,cos、tan同理
    c = 10*np.sin(a)
    print(c)
    #判断大小
    print(b<3)
    print(b==3)
    a = np.array([[1,1],
                 [0,1]])
    b = np.arange(4).reshape((2,2))
    print(a)
    print(b)
    c = a*b
    #矩阵乘法用dot()
    c_dot = np.dot(a,b)
    #另一种矩阵乘法形式
    c_dot2 = a.dot(b)
    print(c)
    print(c_dot)
    print(c_dot2)
    
    import numpy as np
    
    #随机矩阵
    a = np.random.random((2,4))
    print(a)
    #求和
    print(np.sum(a))
    #axis=1对行求和,axis=0对列求和
    print(np.sum(a,axis=1))
    print(np.sum(a,axis=0))
    #最小值
    print(np.min(a))
    #行最大值
    print(np.min(a,axis=1))
    #最大值
    print(np.max(a))
    
    a = np.arange(2,14).reshape((3,4))
    print(a)
    #最小值的索引
    print(np.argmin(a))
    #最大值的索引
    print(np.argmax(a))
    
    #平均值
    print(np.average(a))
    #中位数
    print(np.median(a))
    #累加
    print(np.cumsum(a))
    #两个数的差
    print(np.diff(a))
    #找到非零的数,输出两个数据,分别表示行和列
    print(np.nonzero(a))
    #排序
    a = np.arange(14,-2,-1).reshape((4,4))
    print(a)
    #每一行由小到大
    print(np.sort(a))
    #每一列由小到大
    print(np.sort(a,axis=0))
    #矩阵转置,两种写法都可以
    print(np.transpose(a))
    print(a.T)
    #小于5的数都变成5,大于9的数都变成9,保持中间的数不变
    print(np.clip(a,5,9))
    

    numpy的索引

    a = np.arange(3,15)
    print(a)
    #特定值
    print(a[3])
    
    #多维情况下
    a = np.arange(3,15).reshape((3,4))
    print(a)
    #特定行或列
    print(a[2])
    print(a[:,1])
    #特定值,两种形式都可以
    print(a[1][1])
    print(a[1,1])
    
    #输出行
    for row in a:
        print(a)
    #输出列
    for column in a.T:
        print(column)
    
    #输出每一项
    print(a.flatten())
    for item in a.flat:
        print(item)
    

    array合并

    a = np.array([1,1,1])
    b = np.array([2,2,2])
    #向下合并
    print(np.vstack((a,b)))
    #向右合并
    print(np.hstack((a,b)))
    
    #将序列在行方向增加维度
    print(a[np.newaxis,:])
    #将序列在列方向增加维度
    print(a[:,np.newaxis])
    #两个序列竖着合并
    print(np.hstack((a[:,np.newaxis],b[:,np.newaxis])))
    
    #多个序列合并
    a = np.array([1,1,1])[:,np.newaxis]
    b = np.array([2,2,2])[:,np.newaxis]
    c = np.concatenate((a,a,b,b))
    print(c)
    #纵向合并(行合并)
    c = np.concatenate((a,a,b,b),axis=0)
    print(c)
    #横向合并(列合并)
    c = np.concatenate((a,a,b,b),axis=1)
    print(c)
    

    array分割

    a = np.arange(12).reshape((3,4))
    print(a)
    #对列分割,分成4块
    print(np.split(a,2,axis=1))
    #不等量的分割
    print(np.array_split(a,3,axis=1))
    #横向分割
    print(np.vsplit(a,3))
    #纵向分割
    print(np.hsplit(a,2))
    

    numpy中b=a,代表b就是a,a变的话b同时跟着变,并且会传递给其他变量
    copy()可以只赋值

    a = np.arange(4)
    print(a)
    b = a
    c = a
    d = b
    a[0]=11
    b is a
    

    copy & deep copy

    a = np.arange(4)
    print(a)
    b = a
    c = a
    d = b
    a[0]=11
    print(b is a)
    b = a.copy()
    

    pandas

    pandas类似字典型的numpy
    DataFrame创建一个大型矩阵,index为索引值,可以自定义,column为列索引

    import numpy as np
    import pandas as pd
    
    s = pd.Series([1,3,4,np.nan,44,1])
    print(s)
    
    #自定义行和列名字
    dates = pd.date_range('20160101',periods=6)
    print(dates)
    df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
    print(df)
    
    #若不自定义行列名字,会自动编号
    df = pd.DataFrame(np.arange(12).reshape((3,4)))
    print(df)
    
    #字典的方式定义DataFrame
    df = pd.DataFrame({'A':1,
                       'B':np.array([3]*4,dtype='int32'),
                       'C':pd.Categorical(['test','train','test','train']),
                       'D':pd.Timestamp('20130102'),
                       'E':pd.Series(1,index=list(range(4)),dtype='float32'),
                       'F':'foo'})
    print(df)
    #输出数据形式
    print(df.dtypes)
    #输出行的序号
    print(df.index)
    #输出列的名字
    print(df.columns)
    #输出数据
    print(df.values)
    #计算平均值方差等,只能计算数字
    print(df.describe())
    #转置
    print(df.T)
    
    #对索引排序,axis=1对第一行排序(字母那行),ascending为False倒序
    print(df.sort_index(axis=1,ascending=False))
    print(df.sort_index(axis=0,ascending=False))
    #对数值排序,对C排序
    print(df.sort_values(by='C'))
    

    选择数据

    dates = pd.date_range('20160101',periods=6)
    df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
    print(df)
    
    #选择第A列,两种都可以
    print(df['A'])
    print(df.A)
    
    #选择多行
    print(df[0:3])
    print(df['20160101':'20160103'])
    #选择多列
    print(df[['A','B']])
    
    ###################################################
    #以标签loc来选择一行
    print(df.loc['20160102'])
    #以loc来选择一列
    print(df.loc[:,['A','B']])
    #以loc来选择指定行和列
    print(df.loc['20160104':,['A','B']])
    
    
    ###################################################
    #以位置iloc来选择
    print(df.iloc[3:5,1:3])
    print(df.iloc[[1,3,5],1:3])
    
    ###################################################
    #以位置iloc和标签loc来混合选择
    print(df.ix[:3,['A','C']])
    
    ###################################################
    #对A筛选大于8的行,同时打印出其他列
    print(df[df.A>8])
    

    设置值

    dates = pd.date_range('20130101',periods=6)
    df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
    df.iloc[2,2]=222
    print(df)
    
    df.loc['20130101','B']=222
    print(df)
    
    df.A[df.A>4]=0
    print(df)
    
    df[df.B>9]=0
    print(df)
    
    df['F'] = np.nan
    print(df)
    
    df['E'] = pd.Series([1,2,3,4,5,6],index=pd.date_range('20130101',periods=6))
    print(df)
    

    处理丢失数据

    dates = pd.date_range('20130101',periods=6)
    df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
    df.iloc[0,1] = np.nan
    df.iloc[1,2] = np.nan
    print(df)
    
    #丢失掉包含NaN的行,any表示只要包含任何一个的话就丢掉,若为all,则要所有都为nan
    print(df.dropna(axis=0,how='any'))
    
    #填入新数据
    print(df.fillna(value=0))
    
    #判断是否确实
    print(df.isnull())
    #判断是否有任何一个等于NaN
    print(np.any(df.isnull())==True)
    

    导入导出

    官方文档:http://pandas.pydata.org/pandas-docs/stable/io.html

    #读取
    data = pd.read_csv('student.csv')
    #存储
    data.to_pickle('student.pickle')
    

    DataFrame合并concat

    axies=0代表竖向,1代表横向

    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['A','B','C','D'])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['A','B','C','D'])
    df3 = pd.DataFrame(np.ones((3,4))*2,columns=['A','B','C','D'])
    print(df1)
    print(df2)
    print(df3)
    
    #竖向排序,index重新排序
    res = pd.concat([df1,df2,df3],axis=0,ignore_index=True)
    print(res)
    
    #############################################################
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['A','B','C','D'])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['B','C','D','E'])
    #默认为outer模式
    res = pd.concat([df1,df2])
    print(res)
    #只考虑两者都有的部分
    res = pd.concat([df1,df2],join = 'inner')
    print(res)
    
    #############################################################
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['A','B','C','D'],index=[1,2,3])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['B','C','D','E'],index=[2,3,4])
    #按照df1的index进行合并,因为df2没有index=1所以会出现Nan
    res = pd.concat([df1,df2],axis=1,join_axes=[df1.index])
    print(res)
    
    #############################################################
    df1 = pd.DataFrame(np.ones((3,4))*0,columns=['A','B','C','D'])
    df2 = pd.DataFrame(np.ones((3,4))*1,columns=['A','B','C','D'])
    df3 = pd.DataFrame(np.ones((3,4))*1,columns=['A','B','C','D'])
    #append往下加数据
    res = df1.append(df2,ignore_index=True)
    print(res)
    res = df1.append([df2,df3])
    print(res)
    #只添加单独一行
    s1 = pd.Series([1,2,3,4],index=['A','B','C','D'])
    res = df1.append(s1,ignore_index=True)
    print(res)
    

    合并Merge

    #以key来合并
    res = pd.merge(left,right,on='key')
    #若有两个key,默认为inner模式,how=['left','right','outer','inner']四种模式
    res = pd.mergr(left,right,on=['key1','key2'])
    #outer模式
    res = pd.mergr(left,right,on=['key1','key2'],how='outer')
    #right保留key右边的数据,left空的数据为Nan,left相反
    #indicator会显示_merge,并显示合并方式
    res = pd.mergr(left,right,on='key1',how='outer',indicator=True)
    #同时可以命名_merge的名字
    res = pd.mergr(left,right,on='key1',how='outer',indicator='indicator_column')
    
    #自定义index方法
    left = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                         'B': ['B0', 'B1', 'B2']},
                         index=['K0', 'K1', 'K2'])
    right = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                          'D': ['D0', 'D2', 'D3']},
                         index=['K0', 'K2', 'K3'])
    #以index为合并依据
    res = pd.merge(left, right, left_index=True, right_index=True, how='outer')
    print(res)
    
    #
    
    boys = pd.DataFrame({'k': ['K0', 'K1', 'K2'], 'age': [1, 2, 3]})
    girls = pd.DataFrame({'k': ['K0', 'K0', 'K3'], 'age': [4, 5, 6]})
    print(boys)
    print(girls)
    #使用suffixes解决overlapping的问题
    res = pd.merge(boys, girls, on='k', suffixes=['_boy', '_girl'], how='inner')
    print(res)
    res = pd.merge(boys, girls, on='k', suffixes=['_boy', '_girl'], how='outer')
    print(res)
    

    plots画图

    #生成序列
    data = pd.Series(np.random.randn(1000),index=np.arange(1000))
    #累加
    data = data.cumsum()
    
    #DataFrame
    data = pd.DataFrame(np.random.randn(1000,4),
                        index=np.arange(1000),
                        columns=list('ABCD'))
    data = data.cumsum()
    #输出前5行数据,默认为5
    print(data.head())
    #plot方法
    #'bar','hist','box','area','scatter','hexbin','pie'
    #data.plot()
    ax = data.plot.scatter(x='A',y='B',color='DarkBlue',label='Class 1')
    #将数据画在同一张图上
    data.plot.scatter(x='A',y='C',color='DarkGreen',label='Class 2',ax=ax)
    plt.show()
    
    展开全文
  • import numpy as np #设定矩阵,和一些属性 array = np.array([ ...print(a.T.dot(a)) #打印矩阵的行列互换后,再进行乘法运算 print(a.clip(5, 9)) #clip:小于5的,让它为5.大于9的让它为9  

    https://www.bilibili.com/video/av8859883/?p=1

    import numpy as np
    
    #设定矩阵,和一些属性
    array = np.array([
        [2,3,4],
        [5,6,7],
        ])
    
    print(array)
    print('size:', array.size)
    print('dim:', array.ndim)
    print('shape', array.shape)
    
    
    #设定矩阵,和矩阵元素的数据类型
    array = np.array([
        [2,3,4],
        [5,6,7],
        ], dtype=np.int32)
    
    print('shape', array.dtype)
    
    #zero化矩阵
    array = np.zeros((3,4))
    print(array)
    
    
    #arange
    array = np.arange(10, 20, 2)
    print(array)
    
    
    #reshape
    array = np.arange(12).reshape((3,4))
    print(array)
    
    
    #步长
    array = np.linspace(1, 10, 6).reshape((2,3))
    print(array)
    
    
    #矩阵相加
    a=np.array([10, 20, 30, 40])
    b=np.arange(4)
    print(a, b)
    print("a-b:", a-b)
    
    #幂运算
    c = b**2
    print(c)
    
    #三角函数
    c = np.sin(b)
    print(c)
    
    #判断数是否在范围内
    print(b < 3)
    
    
    #矩阵乘法
    a = np.array([
        [2,3],
        [5,6],
        ])
    
    b = np.arange(4).reshape((2,2))
    print(a)
    print(b)
    print("a*b:", a * b)
    print("dot:", np.dot(a, b))
    print("dot:", a.dot(b))
    
    #矩阵最大值,最小值,求和等
    a = np.random.random((3,4))
    print(a)
    print(np.sum(a))
    print(np.max(a))
    print(np.min(a))
    print(np.max(a, axis=0)) #打印每列中的最大值
    print(np.max(a, axis=1)) #打印每行中的最大值
    
    #矩阵最小值的索引
    a=np.arange(2, 14).reshape((3,4))
    print(a)
    idx = np.argmin(a) #找到最小值的索引
    print(idx)
    print(np.argmax(a)) #找到最大值的索引
    print(np.mean(a)) #打印矩阵的平均值
    print(a.mean()) #打印矩阵的平均值
    print(np.median(a)) #打印矩阵的中位数
    print(np.cumsum(a)) #打印矩阵的累计和
    print(np.diff(a)) #打印矩阵相邻二位数相减
    print(np.nonzero(a)) #打印矩阵的非零
    print(np.sort(a)) #打印矩阵的排序
    print(np.transpose(a)) #打印矩阵的行列互换
    
    print(a.T) #打印矩阵的行列互换
    print(a.T.dot(a)) #打印矩阵的行列互换后,再进行乘法运算
    print(a.clip(5, 9)) #clip:小于5的,让它为5.大于9的让它为9

     

    展开全文
  • 技术不迷路《《目录:pandas = numpy + 标签索引如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签,而,有数值标签。Pandas是基于Numpy构建的,让Numpy为中心的应用变得更加简单。...
  • pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。如果你早已熟知 python 的使用,可以直接跳到第三段。让我们开始吧:import pandas as pd别问为什么...
  • Python 在数据分析领域里是一门非常强大的语言,在数据分析方面有着出色的生态系统。Pandas 包就是其中之一,它的主要特点是导入和分析数据非常的容易,Pandas 类似 Numpy、Matplotlib,提供了单一且方便的方式来...
  • 在学习 Pandas 之前,先阅读完前两篇教程:多多教PythonPython 基本功: 3. 数据类型​zhuanlan.zhihu.com多多教PythonPython 基本功: 4. 读写文件​zhuanlan.zhihu.com教程需求:Mac OS (Windo...
  • Pythonpandas打印DataFrame行列数据显示不全问题 问题背景: 在使用pandas读取数据后print读取的DataFrame数据行列显示不全,部分过长的列和行显示的是省略号,分析读取后的数据类型有影响. 解决方法: 在代码开始...
  • python使用pandas处理excel的方法一、配置环境1、pandas依赖处理Excel的xlrd模块,安装命令是:pip install xlrd2、安装pandas模块还需要一定的编码环境,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_...
  • 1 pandas简介1.Pandas是什么?Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。2.DataFrameDataFrame是Pandas中的一个...
  • python pandas获取groupby之后的数据 >>> import pandas as pd # 原始数据 >>> df = pd.read_excel(r'D:/myExcel/1.xlsx') >>> df name math 0 bog 45 1 jiken 67 2 bob 23 3 jiken 34 ...
  • 在使用pandas的DataFrame打印时,如果表太长或者太宽会自动只给前后一些行列,但有时候因为一些需要,可能想看到所有的行列。 所以只需要加一下的代码就行了。 #显示所有列 pd.set_option('display.max_columns', ...
  • Python Pandas用法入门

    2020-09-28 18:09:43
    python pandas
  • 导语Pandas是数据分析中一个至关重要的库,它是大多数据项目的支柱。如果你想从事数据分析相关的职业,那么你要做的第一件事情就是学习Pandas。通过这一课,您将会:1、对Pandas有一个全面的认识;2、学会安装和导入...
  • Python数据导入方法(先从最简单最常用的表格文件开始)上代码前的一些感触在读研的时候,为了研究方向(也就是毕业论文= =|||)正式接触了Python。那时候唯一的想法不是扎扎实实学Python,而是到网上找些现成代码,...
  • Python Pandas DataFrame 表格 打印输出不能对齐的两种解决方案 pd.set_option('display.unicode.ambiguous_as_wide', True) pd.set_option('display.unicode.east_asian_width', True)
  • 实现:用Python导入pandas库,将csv文件读入一个DataFrame,然后将这DataFrame的内容写入另一个csv文件。1. 导入pandas库。numReportCube=0 # 7762. 定义若干变量并赋初值用于后续数据处理。本示例中定义...
  • I am trying to print a pandas DataFrame.One of the columns is too wide (it is a very long string).To print I am using tabulate library. But when it is printed it shows the whole content of all columns...
  • 解决 pandas打印 DataFrame 行列显示不全的问题
  • python pandas

    2019-04-09 12:30:53
    pandas 是用于处理和分析数据的 Python 库。它基于一种叫作 DataFrame 的数据结构,这 种数据结构模仿了R 语言中的DataFrame。简单来说,一个pandas DataFrame 是一张表 格,类似于Excel 表格。pandas 中包含大量...
  • python使用pandas处理excel的方法一、配置环境1、pandas依赖处理Excel的xlrd模块,安装命令是:pip install xlrd2、安装pandas模块还需要一定的编码环境,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_...
  • 一、安装环境:1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd2:安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,828
精华内容 6,731
关键字:

pandaspython打印

python 订阅