pandas notes 25

1.显示已安装的版本

pd.__version__

pd.show_versions()

2.创建示例DataFrame

3.更改列名

df = df.rename({ col one : col_one ,  col two : col_two }, axis= columns )

df.columns = [ col_one ,  col_two ]

如果你需要在列名中添加前缀或者后缀,你可以使用add_prefix()函数或者使用add_suffix()函数

4.行序反转

drinks.loc[::-1].reset_index(drop=True).head()

5.列序反转

drinks.loc[:, ::-1].head()

6.通过数据类型选择列

选取数值型的列drinks.select_dtypes(include= number ).head()

drinks.select_dtypes(exclude= number ).head()

7.将字符型转换为数值型

df.astype({‘col_one’:’float’,‘col_two’:’float’})

to_numeric()函数,无效数据转换为NaN

pd.to_numeric(df.col,errors=’coerce’).fillna(0)

df.apply(pd.to_numeric,errors=’coerce’).fillna(0)

8.减小DataFrame空间大小

9.按行从多个文件中构建DataFrame

from glob import glob

files=sorted(glob(‘stock*.csv))

pd.concat((pd.read_csv(file) for file in files),ignore_index=True)

10.按行从多个文件中构建DataFrame

pd.concat((pd.read_csv(file) for file in files),axis=’colomns’,ignore_index=True)

11. 从剪贴板中创建DataFrame

read_clipboard()

12. 将DataFrame划分为两个随机的子集

movies_1=movies.sample(frac=0.75,random_state=1234)

movies_2=movies.drop(Movies_1.index)

13. 通过多种类型对DataFrame进行过滤

Movies.genre.unique()

以"or"符号分隔isin()函数

如果你想要进行相反的过滤,那么你可以在过滤条件前加上破浪号

在Python中,波浪号表示“not”操作

14. 从DataFrame中筛选出数量最多的类别

value_counts()函数,并将它保存成counts(type为Series)该Series的nlargest()函数

counts=movies.genre.value_counts()

movies[movies.genre.isin(counts.nlargest(3).index)]

15. 处理缺失值

可以使用isna()函数

Ufo.isna().sum()

16. 将一个字符串划分成多个列

Df[[‘first’,’middle’,’last’]]=df.name.str.split(‘ ‘,expand=True)

Df[‘city’]=df.location.str.split(‘,’expand=True)[0]

17. 将一个由列表组成的Series扩展成DataFrame

第二列包含了Python中的由整数元素组成的列表。如果我们想要将第二列扩展成DataFrame,我们可以对那一列使用apply()函数并传递给Series constructor:

Df_new=df.col_two.apply(pd.series)

Pd.concat([df,df_new],axis=’columns’)

18. 对多个函数进行聚合

Order.groupby(“id”).price.agg([‘sum’,’count’])

19. 将聚合结果与DataFrame进行组合

Order.groupby(“id”).price.transform(‘sum’)

20.选取行和列的切片

21. 对MultiIndexed Series进行重塑

unstack()函数

22. 创建数据透视表(pivot table)

pivot_table()函数,想要使用数据透视表,你需要指定索引(index), 列名(columns), 值(values)和聚合函数(aggregation function)。数据透视表的另一个好处是你可以通过设置margins=True轻松地将行和列都加起来

23. 将连续数据转变成类别数据

一个解决办法是对年龄范围打标签,比如"adult", "young adult", "child"。实现该功能的最好方式是使用cut()函数

Pd.cut(titanic.age,bins=[0,18,30,99],labels=[‘a’,’b’,’c’])

24. 更改显示选项

pd.set_option(‘display.float_format’,’{:.2f}’.format)

25. Style a DataFrame

可以创建一个格式化字符串的字典,用于对每一列进行格式化。然后将其传递给DataFrame的style.format()函数

format_dict={‘date’:’{:%m/%d/%y}’,’close’:’{:.2f}’}

stocks.style.format(format_dict)

你可能感兴趣的:(pandas,pandas)