美文网首页
Pandas使用总结

Pandas使用总结

作者: Jlan | 来源:发表于2017-08-01 11:51 被阅读31次

索引

按行名索引 data.ix['row_name']
按行位置索引 data.iloc[2]
过滤指定列包含某些字符串 df_data['分类'].str.contains('婚|同居|抚养|赡养')
索引指定列data = data.loc[:, ['account', '首贷申请时间']]

分组并排序

In [84]: df = pd.DataFrame({'key1':['a','a','b','b','a'],
    ...:                    'key2':['one','two','one','two','one'],
    ...:                    'data1':np.random.randn(5),
    ...:                    'data2':np.random.randn(5)})                 

In [85]: df
Out[85]: 
      data1     data2 key1 key2
0  1.579140  0.428876    a  one
1  0.494486  0.397206    a  two
2 -0.445459 -1.447018    b  one
3  1.114477 -1.539330    b  two
4  0.899226 -2.082411    a  one

# 分组然后排序,多关键字排序,ascending的每个元素表示每个排序关键字的排序方式
In [86]: sort_func = lambda x: x.sort_values(['data1', 'data2'], ascending=[1, 0])
In [87]: dfgs = df.groupby(['key1', 'key2']).apply(sort_func)
In [88]: dfgs
Out[88]: 
                data1     data2 key1 key2
key1 key2                                
a    one  4  0.899226 -2.082411    a  one
          0  1.579140  0.428876    a  one
     two  1  0.494486  0.397206    a  two
b    one  2 -0.445459 -1.447018    b  one
     two  3  1.114477 -1.539330    b  two

# 分组排序后只取前n个值
In [89]: sort_func = lambda x: x.sort_values(['data1', 'data2'], ascending=[1, 0]).head(1)
In [90]: dfgsh = df.groupby(['key1', 'key2']).apply(sort_func)
In [91]: dfgsh
Out[91]: 
                data1     data2 key1 key2
key1 key2                                
a    one  4  0.899226 -2.082411    a  one
     two  1  0.494486  0.397206    a  two
b    one  2 -0.445459 -1.447018    b  one
     two  3  1.114477 -1.539330    b  two

读取数据时设置格式

data = pd.read_excel(host_file, dtype={'emergency_contact_mobile(紧急联系人1)': str,
                                       'emergency_contact_mobile2nd(紧急联系人2)': str,
                                       'account': str})

修改column名

data.rename(columns={'emergency_contact_mobile(紧急联系人1)': 'emergency1',
                         'emergency_contact_mobile2nd(紧急联系人2)': 'emergency2',
                         '首贷申请时间': 'first_time'},
                inplace=True)

dataframe转换为dict

data = data.to_dict('records')

参考:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html

去除nan, inf等

df[~df.isin([np.nan, np.inf, -np.inf]).any(1)]
df_data = df_data[df_data['问题'].notnull()]
df_data.fillna('', inplace=True)
data.dropna(inplace=True)

一些实例

一个读取文件的例子

def parse_application_file(application_file):
    data = pd.read_table(application_file, sep='\t', encoding='utf-8', engine='python', dtype = {'account' : str})  # 读取txt文件,以'\t'为分割,'account'列的格式转换成str
    data = data.loc[:, ['account', 'addtime']]
    data.rename(columns={'addtime': 'first_time'}, inplace=True) # 修改列名
    data = data.set_index('account') # 把account列作为索引
    print(data)
    return data

# index和column的转化,参考https://www.cnblogs.com/hhh5460/p/7067928.html

相关文章

  • pandas使用方法及相关函数记录1

    pandas使用方法记录总结 基本操作记录 查看pandas版本 查看pandas及相关库版本 创建DataFra...

  • pandas 使用总结

    Pandas 使用总结 1.Pandas 介绍 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分...

  • pandas使用总结

    0、pandas常用方法 1、计算相关性 相关性,简单讲就是:正相关和负相关,值的大小在-1和1之间,越接近1,相...

  • Pandas使用总结

    索引 按行名索引 data.ix['row_name']按行位置索引 data.iloc[2]过滤指定列包含某些字...

  • pandas使用总结

    pandas使用总结 尽量使用[]来选择单列,而非使用.属性的方式,不使用.属性的原因如下:如果column名字中...

  • 入门Pandas,你必须掌握的技巧

    入门Pandas,必须掌握的技巧 总结自己经常使用的pandas操作方法: 创建DataFrame数据 查看数据相...

  • apply,map,applymap总结

    Python中apply,map,applymap总结 pandas中DataFrame 数据类型,使用map,a...

  • Pandas基础使用总结

  • pandas使用习惯示例总结续

    pandas使用习惯总结续 修改food列为steak,lamb的值 此中情况最好使用copy .ix都用。ilo...

  • Pandas基础方法介绍

    导读:Pandas是日常数据分析师使用最多的分析和处理库之一,本篇文章总结了常用的46个Pandas数据工作方法,...

网友评论

      本文标题:Pandas使用总结

      本文链接:https://www.haomeiwen.com/subject/yocllxtx.html