在Python中选择excel中的正确值

时间:2017-03-28 15:31:26

标签: python excel pandas plot

概述:

我正在创建一个大型数据集的图表,但是我创建了一个示例文本文档,以便更容易克服这些问题。 数据来自excel文档,该文档将另存为CSV。

问题:

我能够编译它将要绘制的数据(见下文)但是我如何拉取数据将不适用于我将要完成的所有不同的Excel工作表。

更多问题详情:

正在为数字26和31中的Excel工作表提取Y值(标记'值'和' Value1')(参见图片和代码)。 这是一个问题,因为每个图表的值26和31都不相同。

让我们来看看这个更有意义。 这是我的代码

import pandas as pd
import matplotlib.pyplot as plt


pd.read_csv('CSV_GM_NB_Test.csv').T.to_csv('GM_NB_Transpose_Test.csv,header=False)

df = pd.read_csv('GM_NB_Transpose_Test.csv', skiprows = 2)

DID = df['SN']
Value = df['26']

Value1 = df['31']


x= (DID[16:25])
y= (Value[16:25])
y1= (Value1[16:25])

"""
print(x,y)
print(x,y1)
"""

plt.plot(x.astype(int), y.astype(int))
plt.plot(x.astype(int), y1.astype(int))
plt.show()

输出:

Output

数据集:

Data Set

在评论下面你会发现0bin到我的数据集这是因为我没有足够的声誉来发布两个链接。

正如您从数据集中看到的那样

 X- DID   = Blue 
 Y-Value  = Green 
 Y-Value1 = Grey 
Troublesome Values = Red

问题再次出现,Y值的数据是从第10行和第11行中从SN下的值26,31中提取的

如果需要更多信息,请与我们联系。 谢谢

1 个答案:

答案 0 :(得分:0)

不确定为什么要创建转置的CSV版本。也可以直接使用原始数据。例如:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv('CSV_GM_NB_Test.csv', skiprows=8)

data = df.ix[:,19:].T
data.columns = df['SN']
data.plot()
plt.show()

这会给你:

plot screenshot

您可以使用pandas.DataFrame.ix()使用整数位置为您提供数据的切片版本。 [:,19:]表示会向您提供19列。最终.T转换它。然后,您可以使用SN.columns列的值应用为列标题,以指定名称。