Python_pandas学习随记

#Pandas: 

采用pandas的DataFrame的有点事有index和columns,因此用DataFrame是最好都要设置index和columns

新建空白DataFrame:aa = pd.DataFrame(index=[1,2,3], columns=['age', 'name', 'sex'])


##用于添加某一行,可以采用append方法,但是注意append不能改变DataFrame,如

    import pandas as pd

    aa = pd.DataFrame([[2,3,4]])

    aa.append([[2,2,2]])

    print (aa)

    结果仍为[2,3,4]

    可以采用以下更新:aa = aa.append([[2,2,2]])

    除此之外,可以采用concat方法来合并DataFrame,可以设置axis=0为行合并,设置axis=1为列合并


##对于新建DataFrame,注意以下差别

    aa = pd.DataFrame([2,3,4])

    bb = pd.DataFrame([[2,3,4]])

    print(aa)

    print(bb)

    其中aa为列数据,bb为行数据


##对于提取DataFrame列数据,可以采用两种形式:1.采用pd['columns']; 2.采用pd.columns

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

    提取b列,可以采用aa['b']或aa.b

增加DataFrame某一列,可采用以下方法

    aa['d'] = [5,5]

    若采用aa['d'] = 5, 也可以添加成功,但是可能会提示caveat.


##对于DataFrame切片,pd.loc[]针对index和columns, pd.iloc[]针对行号和列号

Pandas里面有个很好用的时间index,例如新建

    dates = pd.date_range('2009-01-01', periods = 365) #生成一年的时间

    dates = pd.date_range('2009-01-01', '2010-01-01', freq='M')  # 在2009-01-01和2010-0101之间以月为间隔生成时间  freq还可以选‘D’,'Y‘


##数据导出csv、或excel

    aa=pd.DataFrame(np.random.rand(100,3), columns=['a', 'b', 'c'])

    aa.to_csv(filename)/pd.read_csv(filename)  #保存和读取文件

    aa.to_excel(filename, sheet_name='Sheet1')  #保存至excel表

##读取excel文档:

    pd.read_excel(filename, 'Sheet1', index_col=None, na_values=['NA'])

##读取txt文档

    pd.read_csv(filename, header=None, index_col=None, sep=',') #其中分隔符为逗号,若为空格可采用 sep=’\\s+‘

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容