我可以使用pandas将excel数据导入python 3.6。
我用于此目的的代码如下:

import pandas as pd

import numpy as np

df=pd.read_excel("I:/Python/Excel.xlsx")

df.head()

上面的代码显示了Jupyter笔记本上的Table1。
我不知道如何将Jupyter笔记本中的表1(从上面的代码获得)中的两列转换为numpy数组,以便对它们进行进一步的分析。
此表中的所有17列都有。我需要从pandas框架到numpy数组的“Column 15”和“Column 16”,这样最终结构如下:
data_set=[[x1,y1],[x2,y2],...[x1000,y1000]]

# x1 = row1 from Column 15
# y1 = row1 from Column 16

最后,我将使用这些数据将“xy散点图”绘制到matplotlib中。这部分我知道怎么做。从这个论坛学到了很多。谢谢大家!
我在网上寻找这个解决方案,但找不到解决方案。
谢谢你的阅读。

最佳答案

我认为需要通过iloc按位置选择列,转换为numpy数组,如果需要,可以列出:

np.random.seed(1245)

df = pd.DataFrame(np.random.randint(10, size=(3, 17))).add_prefix('data')
print (df)
   data0  data1  data2  data3  data4  data5  data6  data7  data8  data9  \
0      6      5      3      5      0      6      9      3      4      6
1      7      1      2      9      3      9      8      8      7      1
2      4      1      8      2      5      6      6      5      1      5

   data10  data11  data12  data13  data14  data15  data16
0       9       4       9       5       2       7       9
1       7       5       5       2       2       4       0
2       4       6       6       0       2       7       6

data_set = df.iloc[:, [14, 15]].values.tolist()
#alternative
#data_set = df.values[:, [14, 15]].tolist()
print(data_set)
[[2, 7], [2, 4], [2, 7]]

编辑:
#if want select columns by names
x = df['data01']
y = df['data02']

#if want select columns by positions
#x = df.iloc[:, 1]
#y = df.iloc[:, 2]

s = plt.scatter(x, y)

关于python - Excel到 Pandas 到numpy数组转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52418546/

10-12 03:51