python读取csv文件命令

python操作csv文件命令大全(一)

读文件和看文件

df = pd.read_csv('文件名.csv')
df.head()  #默认前五行,若是想看更多行,括号里自行输入

合并文件

pd.merge(left, right, how=' ', on=None, left_on=None, right_on=None,
         left_index=False, right_index=False, sort=True,
         suffixes=('_x', '_y'), copy=True, indicator=False,
         validate=None)

各参数如下:

  • left: 拼接的左侧DataFrame对象
  • right: 拼接的右侧DataFrame对象
  • on: 要加入列或索引的名称,名称必须在两个DataFrame对象中都能找到,因为是根据该名称就行合并。(如果未传递且left_index和right_index为False,则DataFrame中的列的交集将被推断为连接键)。
  • left_on:左侧DataFrame中的列或索引级别用作键。 可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。
  • right_on: 左侧DataFrame中的列或索引级别用作键。 可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。
  • left_index: 如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。
    对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。
  • right_index: 与left_index功能相似。
  • how: One of ‘left’, ‘right’, ‘outer’, ‘inner’.
  • 默认inner。inner是取交集,outer取并集,left为左连接,right为右连接,标签不能对齐的部分,用NAN进行填充。
  • sort: 按字典顺序通过连接键对结果DataFrame进行排序。 默认为True,设置为False将在很多情况下显着提高性能。
  • suffixes: 用于重叠列的字符串后缀元组。 默认为(‘x’,’ y’)。
  • copy: 始终从传递的DataFrame对象复制数据(默认为True),即使不需要重建索引也是如此。
  • indicator:在pd.concat()中可以通过参数设定显示拼接后的表中哪些信息来自于哪一个表格,在pd.merge()中也可以进行这样的操作,就是通过indicator参数设置,默认是False不显示数据来源,把参数设置为True就可以了。
    例子:
dff = all_data.merge(df,on = 'start_id',how = 'left')

左连接保留左表的信息,把右表中主键与左表一致的信息拼接进来,标签不能对齐的部分,用NAN进行填充。

文件保存为csv

保存路径
df.to_csv('text.csv') #相对位置,保存在getwcd()获得的路径下
df.to_csv('C:/Users/name/Desktop/text.csv') #绝对位置
查询当前工作路径
import os
os.getcwd() #获取当前工作路径
分隔符
df.to_csv('text.csv',sep='?')#使用?分隔需要保存的数据,不写则默认是
替换空值
df.to_csv('text.csv',na_rep='NAN')#缺失值保存为NAN,如果不写,默认是空
保存格式
df.to_csv('text.csv',,float_format='%.2f')#保留两位小数
是否保留列名
df.to_csv('text.csv',header=0) #不保存列名
是否保留行索引
df.to_csv('text.csv',index=0) #不保存行索引

计算列中各元素的数量

df=模块名.groupby(['列名']).size().reset_index(name='weight')

给每列重命名,并输出某列

df.columns = ['A','B','C','D','E']  #‘填重命的列名’,有几列就要命名几列
df.drop(columns=['B'])   #删除B列
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值