import pandas as pd #引入pandas
titanic=pd.read_csv('...') #讀取csv, titanic為DataFrame
titanic.head() #獲取前5行
titanic.shape #DataFrame行和列
titanic.describe()#統(tǒng)計DataFrame每列的count,mean,std,min,25%,50%,75%,max
titanic.info()#統(tǒng)計每列的null/notnull,類型腕扶,內(nèi)存占用
titanic.isnull().sum()#統(tǒng)計每列為空的數(shù)量
titanic[titanic['Embarked'].isnull()] #獲取Embarked列值為空的所有數(shù)據(jù)
titanic["Embarked"]=titanic["Embarked"].fillna('C') #Embarked列為空的值都賦為C辨图,然后將新DF的列賦值回去(必須賦值回去员凝,fillna并不改變原來的值,得到的是一個新列)
itanic["Deck"].unique() #獲取Deck所有unique后的值
titanic_df=titanic_df.drop(['PassengerId','Name','Ticket'],axis=1) ?#drop掉無需的列
titanic_df=titanic_df.join(embark_dummies_titanic) #df之間做join
test_df["Age"] #獲取列名為Age的列拿穴,為一個Serial
embark_perc=titanic_df[["Embarked","Survived"]].groupby(['Embarked'],as_index=False) #對Embarked列做groupby
average_age_test=test_df["Age"].mean()#均值
std_age_test=test_df["Age"].std()#標準差
count_nan_age_test=test_df["Age"].isnull().sum()#非空之和
titanic_df['Family'].loc[titanic_df['Family']>0]=1 ?#將family大于0的都置為1
titanic["NameLength"]=titanic["Name"].apply(lambdax:len(x))#對老列進行運行得到新列
person_dummies_titanic=pd.get_dummies(titanic_df['Person'])#對Person列轉(zhuǎn)為One-Hot編碼
titanic.corr()["Survived"]#求取titanic各列和Survived列的協(xié)方差
titanic[titanic['Embarked'].isnull()] ?#獲取Embarked所有非空的列
pd.Series([1,3,5,np.nan,6,8])#創(chuàng)建Seriers
pd.date_range('20130101',periods=6) #創(chuàng)建從20130101開始6天严卖,數(shù)據(jù)類型為DatetimeIndex
pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) #創(chuàng)建DF宴抚,列為A,B,C,D行為上面創(chuàng)建的時間index
df2.dtypes #獲取DF的數(shù)據(jù)類型
df.tail(3)#獲取df最后3行
df.index#獲取df的index
df.columns #獲取df的列
df.values #獲取df的values
df.sort_index(axis=1,ascending=False) #按照軸來排序
df.sort(columns='B') #按照列值排序
df[0:3] ?#獲取前三行
df['20130102':'20130104'] 獲取Index從20130102到20170104
df.loc['20130102':'20130104',['A','B']] ?#index從20130102到20170104,袄膏,并選擇a,b列
df1.dropna(how='any') 刪除所有任意有控制的行
排序:
df.sort_values(by='internalReturn', ascending=False) #按照internalReturn列降序排序
df.sort_index(axis=1, ascending=False) # axis代碼軸践图,0代表行,1代碼列沉馆。這樣即是對列之間做排序
df[df.A>0] #選擇列A大于0的所有列
f2=df.copy() #拷貝得到一個新的df
df.loc #使用標簽選擇
df.loc['20130102':'20130104',['A','B']] #選擇從20130102到20130104間A,B列數(shù)據(jù)
df.iloc#使用位置選擇
df.iloc[3:5,0:2] ?#選擇index為3到5直接码党,列號從0到2之間的數(shù)據(jù)
賦值
df['F']=s1 #s1為一個Serial,將s1復制到F列
df.at[dates[0],'A'] = 0 #按標簽賦值斥黑,將第一行揖盘,A列元素賦值為0?
df.iat[0,1]=0 #按位置賦值,將0行1锌奴,列元素賦值為0
參考http://python.jobbole.com/84416/