- 显示dataframe所有列数 pd.options.display.max_columns = None
- 显示dataframe所有行数 pd.options.display.max_rows = None或者pd.set_option('display.max_rows',None)
- dataframe 初始化
- temp = pd.DataFrame(columns=['Area','time','AQI'],data=[(1,'2014/5/1 0:00',118)])
- 修改dataframe的值air_data.loc[air_data.station_id==(air_data.groupby(['station_id']).size()).index[i],'Area']==area[i]
- dataframe处理缺省值有NULL时,直接train_data = train_data.fillna(method='ffill')没有效果,要先把null转成Nan
用train_data = train_data.convert_objects(convert_numeric=True)即可
- python print中带有两个参数格式化输出时
-
将参数用括号括起后(如下所示),问题就解决了。
-
def a(x,y):
-
print("%s : %s "%(x,y))
-
-
不同的索引
loc——通过行标签索引行数据
iloc——通过行号索引行数据
ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合
https://blog.youkuaiyun.com/hecongqing/article/details/61927615
print df.columns.size#列数df.shape[1]
print df.iloc[:,0].size#行数 3 df.shape[0]
统计某一列各个值得数量情况
Area1_data['date'].value_counts()
(useful.loc[useful.values>16]).sort_index()
读取文目录下我所有文件的名称】path = os.listdir('data/')
print (path)
dataframe合并
join
concat
//列拼接 axis不能少
pd_wind2 = pd.concat([pd_wind2,pd_wind_direction5], axis=1)
取前几列
X=allElectornicsData.ix[:,:-1]
离散数据onehot
1.pd.get_dummies(all_df['MSSubClass'],prefix='MSSubClass').head()
2.from sklearn.preprocessing import OneHotEncoder
dayofweek_ohe = OneHotEncoder(sparse=False).fit_transform(dataset[['dayofweek']])
pd_dayofweek = pd.DataFrame(dayofweek_ohe,columns=['Mon','Tue','Wed','Thu','Fri','Sat','Sun'])
pd_dayofweek.head()
#把所有离散值做one-hot处理
all_dummy_df = pd.get_dummies(dataset)
all_dummy_df
获取datagrame的列名DataFrame.columns.values.tolist()
统计某行或者某列数值出现的次数
我们可以用pandas库自带的统计值函数,这样效率更高,代码如下:
-
zero_col_count = dict(df[0].value_counts())#统计第0列元素的值的个数
-
three_row_count = dict(df.loc[3].value_counts())#统计第3行元素的值的个数
#筛选某个值在某个列表中
df = df[df['subject_1'].isin([1, 2, 13, 18, 25])]
Dataframe.apply(func=f,axis=1)
f函数记得return
axis=1表示以dataframe的行输入
上面的数据本身,所以需要重新赋值pois = pois.apply(func=defineType,axis=1)