pandas

作者: 大海一滴写字的地方 | 来源:发表于2018-01-07 22:49 被阅读0次

    Pandas模块是Python用于数据导入及整理的模块

    http://yam.gift/2017/02/15/list-dict-series-dataframe-ndarray-transform/

    pandas 空值定义为numpy.nan

    对整体的series或Dataframe判断是否未空,用isnull() 

    eg: 

    pd.isnull(df1) #df1是dataframe变量

    对单独的某个值判断,可以用 np.isnan() 

    eg: np.isnan(df1.ix[0,3]) #对df1的第0行第3列判断

    nan遇到问题解决:http://www.cnblogs.com/itdyb/p/5806688.html 

    nulltype: http://www.cnblogs.com/BeginMan/p/3153983.html

    Pandas模块的数据结构主要有两:1、Series ;2、DataFrame

    DataFrame数据的shape值,不含第一行,含第一列

    loc

    iloc

    ix

    具体使用

    http://blog.csdn.net/qq_16234613/article/details/62046057

    http://blog.csdn.net/u014607457/article/details/51290237

    http://blog.csdn.net/zhu418766417/article/details/52718063

    Pandas也有数据框架(dataFrame)

    一个特定的pandas对象,叫做数据序列(series)

    df[df['Age']>60][['Sex','Pclass','Age','Survived']]

    df[df['Age'].isnull()][['Sex', 'Pclass', 'Age']]

    len(df[ (df['Sex'] == 'male') & (df['Pclass'] == i) ])

    df['Gender'] = df['Sex'].map( {'female': 0, 'male': 1} ).astype(int)

    df = df.drop(['Age'], axis=1)

    df = df.dropna()

    转化为arrary:train_data = df.values

    pandas的数据结构

    http://blog.csdn.net/AmourDeMai/article/details/51097635【很好】

    http://pandas.pydata.org/pandas-docs/stable/dsintro.html

    数据结构

    https://pandas.pydata.org/pandas-docs/stable/dsintro.html【官方文档】

    pandas主要有Series(对映一维数组),DataFrame(对映二维数组),Panel(对映三维数组),Panel4D(对映四维数组),PanelND(多维)等数据结构。应用最多的就是Series和DataFrame了。下面就主要介绍这两类数据结构。

    从ndarry创建

    s = pd.Series(np.random.randn(5), index = list('ABCDE'))

    从dict创建

    In [19]: d = {'a': 1, 'b': 2, 'c': 3}

    In [20]: pd.Series(d)

    从标量创建

    pd.Series(5., index=['a', 'b', 'c', 'd', 'e'])

    Series像ndarray一样操作

    s[0] 

    s[s > s.median()]

    s[:3]

    s[[4, 2, 1]]

    np.exp(s)

    Series支持+,-,*, /, exp等NumPy的运算。

    Series像dictionary一样操作

    s['a']

    s.get('f')

    当两个index不同的Series一起操作时,不同部分值为nan:

    In[9]:s[1:]+s[:-1]Out[9]:aNaNb-2.729308c-0.919524d0.876880e5.863378fNaNdtype:float64

    DataFrame创建方法

    从字典

    d = {'one': pd.Series([1, 2, 3], index=list('abc')), 'two': pd.Series([1, 2, 3, 4], index=list('abcd'))}

    df = pd.DataFrame(d)

    df.index

    df.columns

    一些操作

    del df['two']

    three = df.pop('three') # df中弹出three列到three变量

    df['foo'] = 'bar'#整列全都变为bar

    df['one_trunc'] = df['one'][:2] # 填补的数据为nan

    df.insert(1, 'bar', df['one']) # 可以自定义加入列的位置,新增bar列到index为1的列

    df.assign(ration = df['one'] / df['bar']) # assign操作会把结果储存在DataFrame中

    df.loc['b'] # 用loc操作获取,loc操作需要行的标签

    df.iloc[2] # 用iloc操作根据行列获取数据,iloc[row list, columns list]

    df.iloc[2, :] # 选取第二行,除了最后一列的所有列

    相关文章

      网友评论

        本文标题:pandas

        本文链接:https://www.haomeiwen.com/subject/urxvnxtx.html