2019年Pandas官方用户调研

时间:2022-07-25
本文章向大家介绍2019年Pandas官方用户调研,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

%matplotlib inline

plt.rcParams['figure.dpi'] = 150

# 让 matplotlib 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']

# 让 seaborn 的文字大一些
sns.set( font='SimHei', font_scale=1.2)

# # 让 MacOS 下的 Matplotlib 与 Seaborn 支持中文
# plt.rcParams['font.family'] = ['Arial Unicode MS']
# sns.set_style('whitegrid',{'font.sans-serif':['Arial Unicode MS','Arial']})


# 用来正常显示负号,这里其实用不上
plt.rcParams['axes.unicode_minus'] = False

df = pd.read_csv("data/2019.csv.zip", parse_dates=['日期时间'], encoding="GBK")

# df.head()
order = [
    '少于 3 个月',
    '3 个月 至 1 年',
    '1 至 2 年',
    '3 至 5 年',
    '5 年以上',
]

sns.countplot(y='您用 pandas 多久了?',
              data=df, order=order,
              color='k').set(title="您用 pandas 多久了?",
                             ylabel="")
sns.despine()
order = [
    "刚开始用",
    "偶尔",
    "每周",
    "每天"
]

sns.countplot(y='pandas 使用频率', data=df, order=order,
              color='k').set(title="pandas 使用频率",
                             ylabel="")
sns.despine()
pct_format = "{:0.2%}".format

df['Python 是您的主打语言吗?'].str.replace(
    "否.*", "否").value_counts(normalize=True).apply(pct_format)

是 90.67% 否 9.33% Name: Python 是您的主打语言吗?, dtype: object

这里用 0.25 版推出的 explode 方法定义了个函数

def split_and_explode(s):
    return s.str.split(";").explode().to_frame()

Pandas API

sns.countplot(y='您常用哪个读写器读取数据?',
              data=df['您常用哪个读写器读取数据?'].str.split(';').explode().to_frame(),
              color='k').set(title="您常用哪个读写器读取数据?",
                             ylabel="")
sns.despine();
sns.countplot(y='处理 100 列及以上大型 DataFrame 的频率',
              data=df, color='k').set(title="处理大型 DataFrame 的频率",
                                      ylabel="");
sns.despine()
sns.countplot(y='Pandas 满意度',
              data=df[['Pandas 满意度']].dropna().astype(int),
              color='k').set(title="Pandas 满意度",
                             ylabel="")
sns.despine();

参考来源 微信公众号: Python大咖谈(id:pythoniao)