[Python办公]轻松使用 pandas 将 4维表格转换为2维表

打印 上一主题 下一主题

主题 564|帖子 564|积分 1692

四维表数据怎样转化2维表,假如第一列为z,第二列为x,表头为y,值为w

 
要从 Excel 文件中读取数据并将其整理成恰当模型拟合的长格式(x, y, z, w),可以使用 pandas 库的 read_excel 函数来读入数据,并将宽表转换为长表。以下是具体步调:

  • 使用 pandas.read_excel 读取 Excel 文件
  • 使用 melt 函数转换宽表为长表,整理出 x, y, z, w 四个字段。
  • 确保全部列的数据类型精确,如 y 需要转换为数值型。
示例代码

假设你有一个 Excel 文件 data.xlsx,表格数据结构如你所描述:
  1. import pandas as pd
  2. # 读取Excel文件
  3. file_path = 'data.xlsx'
  4. data = pd.read_excel(file_path)
  5. # 将宽表转换为长表,z 和 x 是 id_vars,列名 (0, 5, 10, 15) 作为 y 维度的值
  6. long_data = pd.melt(data, id_vars=['z', 'x'], var_name='y', value_name='w')
  7. # 确保 y 列是数值型
  8. long_data['y'] = long_data['y'].astype(float)
  9. # 查看整理后的数据
  10. print(long_data)
  11. # 你现在可以将数据作为 X (z, x, y) 和 y (w) 进行拟合
  12. X = long_data[['x', 'y', 'z']]  # 特征矩阵
  13. w = long_data['w']  # 目标变量
复制代码
数据格式:

假设 Excel 文件中存储的表格如下:
z
x
0
5
10
15
0
-6
0
75.8706
118.59
132.493
0
-4
0
64.6623
116.059
139.528
0
-2
0
51.2084
108.693
142.587
0
0
0
44.0519
105.242
149.187
0
2
0
41.9517
104.581
151.369
0
4
0
36.8499
97.7238
148.838
long_data 格式(整理后的数据):

z
x
y
w
0
-6
0
0.0000
0
-6
5
75.8706
0
-6
10
118.590
0
-6
15
132.493
0
-4
0
0.0000
0
-4
5
64.6623
0
-4
10
116.059
0
-4
15
139.528
...
...
...
...
解释:



  • pandas.read_excel() 用于读取 Excel 文件中的数据。
  • melt() 函数将宽表格式的数据转换为长表格式,使 y 列的值(0, 5, 10, 15)变为单独的 y 列,表中的实际数值变为 w 列。
  • 将 y 列转换为 float 类型,以确保数值类型一致。
下一步:

现在,你已经乐成将数据整理为 x, y, z, w 四维格式,可以进一步使用 scikit-learn 或其他工具举行模型拟合,比方线性回归或多项式拟合。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表