Pandas总结

0. 用变量产生字符串的方法

f'getNthHighestSalary_{N}'

1. 从列表建立DataFrame

输入:student_data:[ [1, 15], [2, 11], [3, 11],  [4, 20] ]

pd.DataFrame(student_data, columns=['student_id', 'age'])

2. 改变一列的数据类型

students['grade'] = students['grade'].astype(int)

3. 改变dataframe结构

纵向黏贴:pd.concat([df1, df2], ignore_index=True)

输入三列,一列作为index,一列作为列名,一列作为值,输出横表:weather.pivot(index='product', columns='quarter', values='sales')

上一个的反操作:pd.melt(report, id_vars=['product'], var_name='quarter', value_name='sales')

4. 按条件提取所需数据

# DataFrame的条件放在[]里,需要提取的列名是个列表。因此[['name','population', 'area']]

world[(world['area'] >= 3000000) | (world['population'] >= 25000000)][['name','population', 'area']]

5. 用merge横向并表

merged_data = pd.merge(customers, orders, on='customerId', how='left')

6. 去重和排序

ans = ans.drop_duplicates(subset=['id'])

ans = ans.sort_values(by=['id'])

7. 如果 DataFrame 的列是字符串类型,可以使用.str方法来对字符串进行操作。

以下是一些可以在.str方法下使用的函数:

lower(): 将字符串转换为小写。

upper(): 将字符串转换为大写。

title(): 将字符串中每个单词的首字母大写。

capitalize(): 将字符串的第一个字符转换为大写,其余字符转换为小写。

strip(): 去除字符串两端的空格。

replace(): 替换字符串中的子串。

split(): 将字符串分割成子串。

contains(): 判断字符串是否包含某个子串。

startswith(): 判断字符串是否以某个子串开头。

endswith(): 判断字符串是否以某个子串结尾。

isdigit(): 判断字符串是否只包含数字字符。

isalpha(): 判断字符串是否只包含字母字符。

isalnum(): 判断字符串是否只包含字母和数字字符。

len(): 返回字符串的长度。

8. 调用自定义函数的方法

apply():允许在 DataFrame 的列上应用自定义的函数,这个函数会作用于列上的每一个元素。

transform():通常用于按组操作,通常与groupby()结合使用。可以返回一个与输入大小相同的对象(例如 Series 或 DataFrame),且与输入具有相同的索引。

agg()/aggregate():通常用于聚合数据,与groupby()结合使用。可以在每个分组上应用一个或多个聚合函数。可以用于 DataFrame 或 Series。

常用的聚合函数有 df.groupby('Group').agg({'Value': ['min', 'median', 'max', 'std', 'var', 'sum', 'count', 'nunique',  'size', 'first', 'last']})

applymap():类似于apply(),但只能应用于 DataFrame,作用于每个元素,相当于map()作用于每一列的每个元素。

map():只能应用于 Series,作用于 Series 的每个元素。

9. 产生排名的函数 .rank()

ans['rank'] = ans['score'].rank(method='dense', ascending=False)。method可选参数还有‘average’, ‘min’, ‘max’, ‘first’, ‘dense’

10. agg()函数的应用 1484. Group Sold Products By The Date

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容