pandas常用语法

  1. pandas读取文件
# (1) 有 header
filename='data.csv'
df=pd.read_csv(filename)
#(2) txt(no header)
# 指定列  分隔符:(\t)
filename='data.txt'
df=pd.read_csv(filename,sep='\t',header=None,usecols=[0,1,3,5],names=['','','',''])
  1. rename
#rid aid
df = df.rename(columns={'rid':'Rid','aid':'Aid'})
  1. 是否存在用isin函数
    df = df[df.Rid.isin(paper_ids, use_hashmap=True)]
  2. 去重
    df = df.drop_duplicates()
  3. 对含有NaN的行的处理
    (1)填充值
# 全部填充0
df.fillna(0)
# 单列填充
df['A'] = df['A'].fillna(0)

(2)删除这行
df = df.dropna()

  1. 随机抽样数据行
# 随机抽取3610行数据

non_df = non_df.sample(n=3610,random_state=1)
  1. dataframe 一对多
    转化为字典
from itertools import islice
d2_map = {}
with open('./temp1/l2.csv', 'r') as fp:
    for line in islice(fp, 1, None):
        cols = line.strip().split(',')
        pid = int(cols[0])
        fname = cols[2]
        if d2_map.get(pid, -1) ==-1:
            d2_map[pid] = fname
        else:
            d2_map[pid]  = d2_map[pid]+'-'+fname
  1. 筛选dataframe中某列包含某字符或者字符串的方法:
    df3[df3['FieldNames'].str.contains('field')]
  2. 将字典变成两列的dataframe
n_df = pd.DataFrame.from_dict(c_map, orient='index',columns=['freq'])
n_df = n_df.reset_index()
n_df = n_df.rename(columns={'index':'FieldName'})
  1. dataframe 按某一列值排序,
    n_df.sort_values(axis=0,by='freq', ascending=False, inplace=True)
  2. python读取csv使用分隔符错误
    在使用如下代码时可能会出现错误
import pandas as pd
df = pd.read_csv('abc.txt', sep='||')

解决方法:使用转义字符来进行

df = pd.read_csv('abc.txt', sep = '\|\|')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原创文章:如有下载及转载请注明来源链接,否则视为侵权 (第一)------------------数据读取相关方法...
    chfing阅读 2,118评论 0 1
  • pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库...
    IBM_LELE阅读 6,874评论 1 5
  • 重要网址 pandas入门详细教程[https://mp.weixin.qq.com/s/OHflBhjPj46G...
    慢慢来乐乐阅读 91评论 0 1
  • 最近过了一遍kaggle上的pandas入门,感觉还是有些东西不熟,所以把内容做一笔记供以后查阅。 pandas ...
    Centurion100阅读 869评论 0 1
  • ######导入 导出###############df=pd.read_excel('D:/1.xls')df....
    Neural_PDE阅读 644评论 0 2