我可以使用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/