data_array = df.head(100).loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy() 如何把这两列数据转换为二维数组
时间: 2023-08-11 21:06:28 浏览: 38
这段代码已经将这两列数据提取出来,并转换为了一个二维的numpy数组。你可以通过以下方式来获取这个二维数组中的数据:
```python
data_array = df.head(100).loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy()
# 获取第一列数据
column1 = data_array[:, 0]
# 获取第二列数据
column2 = data_array[:, 1]
```
其中,`data_array[:, 0]`表示获取二维数组中的第一列数据,`data_array[:, 1]`表示获取二维数组中的第二列数据。你可以根据需要,对这些数据进行进一步的处理。
相关问题
data_array = df.loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy() 修改为读取前十行
可以使用`head()`函数读取DataFrame对象的前N行,然后再使用`loc`函数和`to_numpy()`方法提取数据并转换为NumPy数组。以下是代码示例:
```
data_array = df.head(10).loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy()
```
这里使用了`head(10)`函数来读取前10行数据,其他步骤与原来的代码相同。
# 处理数据 data_array = df.head(10).loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy() # print(data_array) row_names = df['下行用户平均速率(Mbit/s)'].head(10) print(row_names) col_names = df['下行PRB平均利用率(%)'].head(10) print(col_names) # 设置x,y轴坐标 plt.xlabel = row_names plt.ylabel = col_names # 设置坐标轴刻度 plt.xticks(range(0,900,100)) plt.yticks(range(0,120,20)) # 绘制热力图 sns.heatmap(data_array, cmap="GnBu", xticklabels=row_names, yticklabels=col_names) plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文乱码 plt.show() 帮我修改这段代码
这段代码的问题在于 plt.xlabel 和 plt.ylabel 被错误地赋值为 row_names 和 col_names,应该使用函数形式进行设置。
以下是修改后的代码:
```python
# 处理数据
data_array = df.head(10).loc[:, ['下行用户平均速率(Mbit/s)', '下行PRB平均利用率(%)']].to_numpy()
# 获取行名和列名
row_names = df['下行用户平均速率(Mbit/s)'].head(10).values
col_names = df['下行PRB平均利用率(%)'].head(10).values
# 设置 x,y 轴标签
plt.xlabel('下行用户平均速率(Mbit/s)')
plt.ylabel('下行PRB平均利用率(%)')
# 设置坐标轴刻度
plt.xticks(range(0, 900, 100))
plt.yticks(range(0, 120, 20))
# 绘制热力图
sns.heatmap(data_array, cmap="GnBu", xticklabels=row_names, yticklabels=col_names)
# 设置中文字符集
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.show()
```
修改后的代码中,plt.xlabel 和 plt.ylabel 使用函数形式进行设置,分别传入 x 轴和 y 轴的标签。同时,获取行名和列名时,使用了 .values 属性将 Series 对象转换为 numpy 数组。
另外,为了增加代码的可读性,将注释放在了与注释相关的代码上方。