pandas

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)