python散装笔记—130 使用Pandas读取、子集化和写入外部数据文件

python散装笔记—130 使用Pandas读取、子集化和写入外部数据文件

编码文章call10242025-03-27 9:52:1922A+A-

本节展示了使用Pandas读取、子集化和写入外部数据文件的基本代码。

1: 使用Pandas导入、子集化和写入外部数据文件的基本代码

 # 打印当前工作目录
 import os
 print(os.getcwd())
 # 输出示例:/Users/sean/Documents
 
 # 设置工作目录
 os.chdir('/tmp')
 print(os.getcwd())
 # 输出示例:/private/tmp
 
 # 加载Pandas库
 import pandas as pd
 
 # 读取一个名为'small_dataset.csv'的CSV数据文件,该文件包含4行和3列变量
 my_data = pd.read_csv("small_dataset.csv")
 print(my_data)
 # 输出示例:
 #    x  y  z
 # 0  1  2  3
 # 1  4  5  6
 # 2  7  8  9
 # 3  10 11 12
 
 # 查看数据集的行数和列数
 print(my_data.shape)
 # 输出示例:(4, 3)
 
 # 查看数据集的行数
 print(my_data.shape[0])
 # 输出示例:4
 
 # 查看数据集的列数
 print(my_data.shape[1])
 # 输出示例:3
 
 # Python使用基于0的索引。数据集中的第一行或第一列位于位置0。
 # 在R中,数据集的第一行或第一列位于位置1。
 
 # 选择前两行
 print(my_data[0:2])
 # 输出示例:
 #    x  y  z
 # 0  1  2  3
 # 1  4  5  6
 
 # 选择第二行和第三行
 print(my_data[1:3])
 # 输出示例:
 #    x  y  z
 # 1  4  5  6
 # 2  7  8  9
 
 # 选择第三行
 print(my_data[2:3])
 # 输出示例:
 #    x  y  z
 # 2  7  8  9
 
 # 选择第一列的前两个元素
 print(my_data.iloc[0:2, 0:1])
 # 输出示例:
 #    x
 # 0  1
 # 1  4
 
 # 选择变量y和z的第一个元素
 print(my_data.loc[0, ['y', 'z']])
 # 输出示例:
 # y    2
 # z    3
 # Name: 0, dtype: int64
 
 # 选择变量y和z的前三个元素
 print(my_data.loc[0:2, ['y', 'z']])
 # 输出示例:
 #    y  z
 # 0  2  3
 # 1  5  6
 # 2  8  9
 
 # 将变量y和z的前三个元素写入外部文件。
 # 这里的`index=0`表示不写入行名。
 
 my_data2 = my_data.loc[0:2, ['y', 'z']]
 my_data2.to_csv('my.output.csv', index=0)

代码说明

工作目录操作

  • 使用os.getcwd()获取当前工作目录。
  • 使用os.chdir()设置新的工作目录。

读取CSV文件

  • 使用pandas.read_csv()读取CSV文件,返回一个DataFrame对象。

数据集的基本操作

  • 使用shape属性获取数据集的行数和列数。
  • 使用切片操作(如my_data[0:2])选择特定行。
  • 使用ilocloc方法进行更复杂的索引操作:
    • iloc基于整数位置进行索引。
    • loc基于标签进行索引。

写入CSV文件

  • 使用DataFrame.to_csv()方法将数据写入CSV文件。
  • 参数index=0表示在写入时不包含行索引。

注意事项

  • 在读取和写入文件时,确保文件路径正确,并且文件存在(读取时)或可写(写入时)。
  • 如果文件路径中包含特殊字符(如空格),建议使用原始字符串(如r'C:\path\to\file')。
  • 在写入文件时,可以根据需要调整to_csv()方法的参数,例如指定分隔符(sep=',')、是否写入列名(header=True)等。
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4