私はpandasモジュールが初めてで、職場でのデータ分析にこのモジュールを使用しています。私はアクセスデータベースから毎日データをインポートし、マシンがダウンするたびに新しいレコードが挿入されるExcelテーブルを持っています。現在の週が8である場合、テーブルは、基本的に、それはのMachine1 1,2-ため-2,3,5,6,7,8-週間スキップした、各マシン上から値に基づいて行を挿入し、他の列を更新しますか?
ID | Area | Machine | Week | UTPercent
--------------------------------------
1 | A1 | M1 | 1 | 80
2 | A1 | M1 | 4 | 90
3 | A2 | M2 | 4 | 70
4 | A2 | M2 | 8 | 82
の稼働時間の割合を示し、 Machine2の場合は3,5,6,7です。どのように私は真ん中に行を追加し、これらすべての行に応じてUTPercentを100%としますか?言い換えれば、ここに私が必要なものがあります。
ID | Area | Machine | Week | UTPercent
--------------------------------------
1 | A1 | M1 | 1 | 80
2 | A1 | M1 | 2 | 100
3 | A1 | M1 | 3 | 100
4 | A1 | M1 | 4 | 90
5 | A1 | M1 | 5 | 100
6 | A1 | M1 | 6 | 100
7 | A1 | M1 | 7 | 100
8 | A1 | M1 | 8 | 100
9 | A1 | M2 | 1 | 100
10 | A2 | M2 | 2 | 100
11 | A2 | M2 | 3 | 100
12 | A2 | M2 | 4 | 70
13 | A2 | M2 | 5 | 100
14 | A2 | M2 | 6 | 100
15 | A2 | M2 | 7 | 100
16 | A2 | M2 | 8 | 82
また、Area1のMachine1だけをプロットする場合、データラベルを追加するにはどうすればよいですか?私は週(x軸)と稼働率(y軸)の棒グラフを作った。私はデータラベルとして週が必要です。 (あなたのテーブルがuptimes
と呼ばれていると仮定して)私はこのような何かをしたい最初の問題については
import matplotlib.plot as plt
import pandas as pd
df = pd.read_excel("targetFolder.xlsx", sheetname = 0, sep ='|')
area1 = df.loc[df['Area'] == 'A1']
# the data
data = list(area1['UTPercent'])
weekNum = list(df.Week)
## the bars
fig = plt.figure()
ax1 = fig.add_subplot(111)
plotData = ax1.bar(weekNum, data, width = 0.45,
color='#556B2F')
# adding labels and title
ax1.set_xlabel("Weeks")
ax1.set_ylabel("Uptime Percentage")
ax1.set_title("Metrology Area", weight='bold')
fig.tight_layout()
fig.gca()
2つの問題を別々に処理します。1)障害データから「Machine x was week in z」データに移動する方法。 2)そのデータの最後の3週間をプロットする方法。 最初の問題は、コードの前に推論することです。既にマシンの完全なリストを持っているのですか、またはそれらはサービスに出入りしますか?ある週のすべてのデータを読んだことをどのように知っていますか?これはあなたの職場に関する実用的な知識です。 – cphlewis
こんにちは、私はそれを明確にするために質問を再構成しました。それが役に立てば幸い :)。混乱させて申し訳ありません。 – SalN85
あなたが解決してくれることを私たちに明確にするために質問を再構成しておけば(これは非常に自然なプログラミング戦略です) – cphlewis