如何将DataFrame转换为两个NumPy数组:数据数组与列名数组
问题描述
我有一个.csv文件,希望将其转换为两个NumPy数组:一个存储表头名称,另一个存储数据内容。已经成功将文件读取为DataFrame格式,但不知道怎么把DataFrame转换成这两个数组。
读取DataFrame的代码如下:
import pandas as pd from pathlib import Path universal_path = Path(r"file\file\data.csv") data = pd.read_csv(universal_path , sep = ';' , skiprows = 0, encoding = 'ISO-8859-1', engine = 'python', header = 0 )
解决方案
利用Pandas和NumPy的内置属性/方法就能快速拆分出所需的两个数组:
1. 获取表头的NumPy数组
直接提取DataFrame的columns属性,再转换为NumPy数组:
import numpy as np header_array = np.array(data.columns)
2. 获取数据的NumPy数组
使用to_numpy()方法(Pandas 0.24及以上版本推荐),或兼容旧版的values属性:
# 推荐用法 data_array = data.to_numpy() # 旧版兼容写法 # data_array = data.values
完整示例代码
整合后的完整代码:
import pandas as pd import numpy as np from pathlib import Path universal_path = Path(r"file\file\data.csv") data = pd.read_csv(universal_path , sep = ';' , skiprows = 0, encoding = 'ISO-8859-1', engine = 'python', header = 0 ) # 生成表头数组 header_array = np.array(data.columns) # 生成数据数组 data_array = data.to_numpy() # 可选:验证输出结果 print("表头数组:") print(header_array) print("\n数据数组:") print(data_array)
内容的提问来源于stack exchange,提问作者Camille
相关产品推荐
相关产品推荐

