1.如何转换数据类型:
dollarizer = lambda x: float(x[1:])
chipo.item_price = chipo.item_price.apply(dollarizer)
2.读取表格数据:不仅可以使用read_csv还可以使用read_table
users = pd.read_table('https://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.user',
sep='|', index_col='user_id')
3.列取列名,返回一个list列表
list(df.columns)
4.查看各列的数据类型:
df.dtypes
colums.dtypes#查看某一列的数据类型
5.保留几位小数:
round(users.age.mean(),2)
6.取出某列的列名
food.columns[104]
7.取出某列的数据类型
food.dtypes['glucose_100g']
8.取出符合某种条件的df可以使用如下的方式:
chipo[(chipo.item_name == "Canned Soda") & (chipo.quantity > 1)]
9.使用numpy科学计算库计算均值、最大值、最小值:
tmp_result=drinks.groupby('continent').spirit_servings.agg({"my_mean":np.mean,"my_min":np.min,"my_max":np.max})
users.groupby('occupation').age.agg(['min', 'max'])
users.groupby(['occupation', 'gender']).age.mean()
10、除法的使用:(两个dateframe之间的除法)
occup_gender = gender_ocup.div(occup_count, level = "occupation") * 100
12.如何输出分组后的信息:
for name, group in regiment.groupby('regiment'):
# print the name of the regiment
print(name)
# print the data of that regiment
print(group)
13.如何定义匿名函数:
captalizer = lambda x: x.upper()
14.对所有列都应用同一个函数,变换如下:
df.applymap(函数名称)
15.把整型数据换成日期型:
crime.Year = pd.to_datetime(crime.Year,format='%Y')
16.对样本采样的函数:
crimes = crime.resample('10AS').sum()
17.返回每一列中出现最大值的索引:
df.idxmax()
18.把两个df按列拼接在一起
cars = cars1.append(cars2)
19.如何对一个列重命名
housemkt.rename(columns = {0: 'bedrs', 1: 'bathrs', 2: 'price_sqr_meter'}, inplace=True)
20.把一个series转化成dataframe
bigcolumn = bigcolumn.to_frame()
21.统计分类变量的频数:
baby_names['Gender'].value_counts('F')
22.sort_value的两种不同用法
names.sort_values("Count", ascending = False).head()##返回的是dataframe
names.Count.sort_values(ascending =False).head()##返回的是series
23.查看数据
!head 数据地址
24.将列拼接在一起生成日期列:
data = pd.read_csv("wind.data", sep = "\s+", parse_dates = [[0,1,2]])
25.利用函数处理日期:
def fix_century(x):
if x.year > 1989:
year = x.year - 100
else:
year=x.year
return datetime.date(year, x.month, x.day)
data['Yr_Mo_Dy'] = data['Yr_Mo_Dy'].apply(fix_century)
data.head()
26.统计列的缺失值的个数:
data.isnull().sum()
27.创建一个空的dateframe,然后再创建新的列:
loc_stats = pd.DataFrame()
loc_stats['min'] = data.min() # min
loc_stats['max'] = data.max() # max
loc_stats['mean'] = data.mean() # mean
loc_stats['std'] = data.std() # standard deviations
28.按周采样
weekly = data.resample('W').agg(['min','max','mean','std'])
january_winds = data.query('month == 1')#访问某列为某个数值的数据
29.注意间隔采样的用法
df[::7]#每隔7个数据采一个样本
df[:7]#采前7个样本,注意和上面的区别
30.删除某些列
wine = wine.drop(wine.columns[[0,3,6,8,11,12,13]], axis = 1)
31.重新给列命名
wine.columns = ['alcohol', 'malic_acid', 'alcalinity_of_ash', 'magnesium', 'flavanoids', 'proanthocyanins', 'hue']
32.删除行,行中包含空缺值
wine = wine.dropna(axis = 0, how = "any")
33.判断某列数据是不是全不一样
apple.index.is_unique#返回是逻辑值
34.每月按正常工作日采样
apple_month = apple.resample('BM').mean()
35.加载时间的包,生成时间
import datetime as dt
start = dt.datetime(2015, 1, 1)
end = dt.datetime.today()