pandas DataFrame的一些操作
发布日期:2025-05-01 16:46:00 浏览次数:2 分类:技术文章

本文共 1085 字,大约阅读时间需要 3 分钟。

最近做数据预处理遇到了一些小问题,记录一下。

1.数据的读取和存储

一般读取数据使用pandas里的read_csv

pd.read_csv(path, sep=',', header=None, nrows=n)

另外通用的读取为:

with open(filename, 'r', encoding='utf-8') as fr:  #这里注意如果是中文的文件可能需要改encoding为gbk

  fr.readlines()

相对应的写入操作为

df.to_csv(path,header=0, index=0)#不保留行列名的写法

with open(filename, 'w', encoding='utf-8') as fw:

  fr.writelines(str+'\n')

通用的读取数据要求格式为string,因此对于列表格式还要把它转成string,字符串和列表相互转化如下:

test_str = " ".join(test_list)

test_list=list(test_str)  

2.DataFrame常用的数据处理

查看前几行:df.head()

查看某个元素:df.ix[:, :] #可以根据索引选取

条件选取元素:df.loc[:, df[column]><=k],df.iloc[];二者区别在于前者根据名字选取,后者根据索引值选取

空值处理:

查询每列空值总数:df.isnull().sum()

选取某列非空值:df[df[col].notnull()&df[col]!='']

填充空值:df.fillna({col:value...})

删除空值:df.dropna(axis=0, how=‘any’) #0表示行,1表示列,any表示任何含有nan的行或列,all表示所有值都为nan的行或列

替换空值:df.replace(to_replace, value)#用value代替to_replace

查看行列数量:df.shape()

转成list:df.tolist()

字典转DataFrame:pd.DataFrame.from_dict(dict, orient='index', columns=[col])

DataFrame转字典:dict = df.set_index(col1).T.to_dict(col2)

3.字符串合并

str = str1+ " " +str2  #文本处理会用到

转载于:https://www.cnblogs.com/danny92/p/10874384.html

上一篇:Pandas Dataframe的日志文件
下一篇:Pandas DataFrame多索引透视表-删除空头和轴行

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月28日 01时12分40秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章