import pandas as pd #引入pandas
titanic=pd.read_csv('...') #读取csv, titanic为DataFrame
titanic.head() #获取前5行
titanic.shape #DataFrame行和列
titanic.describe()#统计DataFrame每列的count,mean,std,min,25%,50%,75%,max
titanic.info()#统计每列的null/notnull,类型,内存占用
titanic.isnull().sum()#统计每列为空的数量
titanic[titanic['Embarked'].isnull()] #获取Embarked列值为空的所有数据
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列转为One-Hot编码
titanic.corr()["Survived"]#求取titanic各列和Survived列的协方差
titanic[titanic['Embarked'].isnull()] #获取Embarked所有非空的列
pd.Series([1,3,5,np.nan,6,8])#创建Seriers
pd.date_range('20130101',periods=6) #创建从20130101开始6天,数据类型为DatetimeIndex
pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) #创建DF,列为A,B,C,D行为上面创建的时间index
df2.dtypes #获取DF的数据类型
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列数据
df.iloc#使用位置选择
df.iloc[3:5,0:2] #选择index为3到5直接,列号从0到2之间的数据
赋值
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/