import numpy as np
import pandas as pd
data = {'color':['blue','green','yellow','red','white'],'object':['ball','pen','pencil','paper','mug'],'price':[1.2,1.0,2,2.1,0.5]}
frame = pd.DataFrame(data)
frame
Out[5]:
color object price
0 blue ball 1.2
1 green pen 1.0
2 yellow pencil 2.0
3 red paper 2.1
4 white mug 0.5
frame2 = pd.DataFrame(data,columns=['object','price'])
frame2
Out[7]:
object price
0 ball 1.2
1 pen 1.0
2 pencil 2.0
3 paper 2.1
4 mug 0.5
frame2 = pd.DataFrame(data,index=['one','two','three','four','five'])
frame2
Out[9]:
color object price
one blue ball 1.2
two green pen 1.0
three yellow pencil 2.0
four red paper 2.1
five white mug 0.5
frame3 = pd.DataFrame(np.arange(16).reshape((4,4)),index=['red','blue','yellow','white'],columns=['ball','pen','pencil','paper'])
frame3
Out[11]:
ball pen pencil paper
red 0 1 2 3
blue 4 5 6 7
yellow 8 9 10 11
white 12 13 14 15
frame3.columns
Out[12]: Index(['ball', 'pen', 'pencil', 'paper'], dtype='object')
frame3.values
Out[13]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
frame
Out[15]:
color object price
0 blue ball 1.2
1 green pen 1.0
2 yellow pencil 2.0
3 red paper 2.1
4 white mug 0.5
frame
Out[17]:
color object price
0 blue ball 1.2
1 green pen 1.0
2 yellow pencil 2.0
3 red paper 2.1
4 white mug 0.5
frame['price']
Out[18]:
0 1.2
1 1.0
2 2.0
3 2.1
4 0.5
Name: price, dtype: float64
frame.price
Out[19]:
0 1.2
1 1.0
2 2.0
3 2.1
4 0.5
Name: price, dtype: float64
# 获取DataFrame中的行
frame.ix[2]
D:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: DeprecationWarning:
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated
"""Entry point for launching an IPython kernel.
Out[21]:
color yellow
object pencil
price 2
Name: 2, dtype: object
frame.ix[[2,4]]
Out[22]:
color object price
2 yellow pencil 2.0
4 white mug 0.5
frame[1:3]
Out[23]:
color object price
1 green pen 1.0
2 yellow pencil 2.0
frame['object'][3]
Out[24]: 'paper'
frame.index.name = 'id'
frame
Out[28]:
item color object price
0 blue ball 1.2
1 green pen 1.0
2 yellow pencil 2.0
3 red paper 2.1
4 white mug 0.5
frame['news'] = 12
frame
Out[30]:
item color object price news
0 blue ball 1.2 12
1 green pen 1.0 12
2 yellow pencil 2.0 12
3 red paper 2.1 12
4 white mug 0.5 12
frame
Out[33]:
item color object price news
0 blue ball 1.2 12
1 green pen 1.0 12
2 yellow pencil 2.0 12
3 red paper 2.1 12
4 white mug 0.5 12
frame['new'] = [1,2,3,4,5]
frame
Out[35]:
item color object price news new
0 blue ball 1.2 12 1
1 green pen 1.0 12 2
2 yellow pencil 2.0 12 3
3 red paper 2.1 12 4
4 white mug 0.5 12 5
ser = pd.Series(np.arange(5))
ser
Out[37]:
0 0
1 1
2 2
3 3
4 4
dtype: int32
frame['new2'] = ser
frame
Out[39]:
item color object price news new new2
0 blue ball 1.2 12 1 0
1 green pen 1.0 12 2 1
2 yellow pencil 2.0 12 3 2
3 red paper 2.1 12 4 3
4 white mug 0.5 12 5 4
frame['price'][2] = 3.3
D:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
"""Entry point for launching an IPython kernel.
frame
Out[41]:
item color object price news new new2
0 blue ball 1.2 12 1 0
1 green pen 1.0 12 2 1
2 yellow pencil 3.3 12 3 2
3 red paper 2.1 12 4 3
4 white mug 0.5 12 5 4
frame2
Out[42]:
color object price
one blue ball 1.2
two green pen 1.0
three yellow pencil 2.0
four red paper 2.1
five white mug 0.5
frame.isin([2.0,'pen'])
Out[43]:
item color object price news new new2
0 False False False False False False
1 False True False False True False
2 False False False False False True
3 False False False False False False
4 False False False False False False
frame2.isin([2.0,'pen'])
Out[44]:
color object price
one False False False
two False True False
three False False True
four False False False
five False False False
frame2[frame2.isin([2.0,'pen'])]
Out[45]:
color object price
one NaN NaN NaN
two NaN pen NaN
three NaN NaN 2.0
four NaN NaN NaN
five NaN NaN NaN
del frame['new2']
frame
Out[47]:
item color object price news new
0 blue ball 1.2 12 1
1 green pen 1.0 12 2
2 yellow pencil 3.3 12 3
3 red paper 2.1 12 4
4 white mug 0.5 12 5
frame3
Out[48]:
ball pen pencil paper
red 0 1 2 3
blue 4 5 6 7
yellow 8 9 10 11
white 12 13 14 15
frame3[frame3<12]
Out[49]:
ball pen pencil paper
red 0.0 1.0 2.0 3.0
blue 4.0 5.0 6.0 7.0
yellow 8.0 9.0 10.0 11.0
white NaN NaN NaN NaN
nestdict = {'red':{2012:22,2013:33},'white':{2011:13,2012:22,2013:16},'blue':{2011:17,2012:27,2013:18}}
frame = pd.DataFrame(nestdict)
frame
Out[52]:
blue red white
2011 17 NaN 13
2012 27 22.0 22
2013 18 33.0 16
frame.T
Out[53]:
2011 2012 2013
blue 17.0 27.0 18.0
red NaN 22.0 33.0
white 13.0 22.0 16.0