私がしようとしているのはcsvで読み込まれ、特定の列に基づいて値が重複しないようにしてからデータは15のインクリメントよりも近くにポイントがありません。パンダのフィルタリング/データ削減(1)が良い方法です2)何が間違っているのですか?
私のコードはファイルを細かく読み取ってから、drop_duplicatesは必要に応じて動作し、その列でソートします。データを減らすために、私は既存のものから最初の行を使って新しいデータフレームを作成しています。次に、問題の列のすべての値を調べて、新しいデータフレームに追加します。少なくとも15 kg/hrであった。
私のデータフレームが正しく組み合わせるされていないと私はこのように配置された結果のデータフレームで終わるよ:
Unnamed: 0 0
TimeStamp (s) 0.002
TC 01 (C) 30.6689
TC 02 (C) 28.6879
TC 03 (C) 27.9779
TC 32 (C) 22.6416
Product Back Pressure (kPa) 0.166353
Product Mass Flow (kg/hr) 107.427
Semtech Flow (kg/hr) 28.2135
Mass Flow (kg/hr) 28.2135
Voltage (V) 1.63065
Angle (degrees) 0
1 Unnamed: 0 TimeStamp (s) TC 01 (C) TC 02...
2 Unnamed: 0 TimeStamp (s) TC 01 (C) TC 0...
3 Unnamed: 0 TimeStamp (s) TC 01 (C) TC 02...
4 Unnamed: 0 TimeStamp (s) TC 01 (C) TC 02...
私は明らかに間違って何かをやっているが、少なくともそれはときよりも少ない間違っています私は "if"文の中に追加しようとしました。
def import_df():
new_df = pd.read_csv(os.path.join(pathname, f), delimiter = ',')
new_df = new_df.drop_duplicates(subset = 'Mass Flow (kg/hr)')
new_df = new_df.sort_values('Mass Flow (kg/hr)')
reduced_df = new_df.iloc[0]
current_mass_flow = new_df['Mass Flow (kg/hr)'].iloc[0]
i = 1
for value in new_df['Mass Flow (kg/hr)']:
if value < current_mass_flow + 15:
reduced_df.loc[i] = new_df.loc[new_df['Mass Flow (kg/hr)'] == value]
current_mass_flow = value
i += 1
else: next
return reduced_df
これを修正するにはどうすればよいですか?明らかに、データフレームに期待通りのものを追加していません。私は間違いなく、このデータフレームに行を追加する方法についていくつかの細かい点を欠いています。
また、私がやろうとしていることを達成するために、もっと簡単で直接的な方法があると感じることはできません。
Sample Source Data
TimeStamp (s) TC 01 (C) TC 02 (C) TC 03 (C) TC 32 (C) Product Back Pressure (kPa) Product Mass Flow (kg/hr) Semtech Flow (kg/hr) Mass Flow (kg/hr) Voltage (V) Angle (degrees)
0 0.004 493.2881108 296.1245877 255.8202916 26.3430426 0.297276487 147.4692621 30.21243527 30.21243527 1.634457337 0
1 0.178 493.2881108 296.1245877 255.8202916 26.3430426 0.283227103 147.4692621 30.21243527 30.21243527 1.634457337 0
2 1.178 493.1325481 296.155699 255.8514043 26.3430426 0.283227103 144.5363918 31.06903075 31.06903075 1.634457337 0
3 2.178 493.0703231 296.2490329 255.8825171 26.3430426 0.289335716 141.244467 31.06903075 31.06903075 1.634457337 0
4 3.178 492.4480726 296.373478 255.8825171 26.40525146 0.292389668 141.244467 29.73651711 29.73651711 1.634139868 0
5 4.178 493.2881108 296.373478 255.9136299 26.3430426 0.292389668 146.0926428 30.40291693 30.40291693 1.634457337 0
6 5.178 493.2881108 296.4357006 255.8825171 26.40525146 0.289742626 146.0926428 30.40291693 30.40291693 1.634457337 0
7 6.178 492.8836479 296.4045893 255.9136299 26.40525146 0.281191135 146.0926428 30.78359426 30.78359426 1.634139868 0
8 7.178 493.1325481 296.373478 255.9447427 26.40525146 0.281191135 146.2123624 30.02223961 30.02223961 1.634457337 0
90 959.629 442.3250036 300.5424521 264.6564452 27.77387677 0.593127726 203.9719224 44.39531112 44.39531112 1.635409746 0
91 960.629 442.231666 300.5424521 264.6564452 27.77387677 0.599643603 203.9719224 44.77598845 44.77598845 1.634457337 0
92 961.629 441.3605153 300.3557844 264.6564452 27.77387677 0.58966651 199.4828012 44.77598845 44.77598845 1.634457337 0
93 962.629 441.0493901 300.3557844 264.6253324 27.77387677 0.58966651 199.1237467 43.63367047 43.63367047 1.634774807 0
94 963.629 441.0493901 300.1691166 264.531994 27.77387677 0.58885198 199.1237467 43.63367047 43.63367047 1.635092276 0
95 964.629 441.2360652 300.3868956 264.531994 27.77387677 0.588444716 203.8522028 43.63367047 43.63367047 1.635092276 0
96 965.629 441.4849654 300.3557844 264.4697685 27.77387677 0.588444716 199.1237467 43.63367047 43.63367047 1.634139868 0
97 966.629 441.3916279 300.2935618 264.4697685 27.77387677 0.597403826 199.1237467 44.39531112 44.39531112 1.633823352 0
98 967.629 441.7338656 300.4802295 264.531994 27.77387677 0.592720461 203.8522028 44.39531112 44.39531112 1.634139868 0
99 968.629 441.2982903 300.6046747 264.6253324 27.77387677 0.592720461 203.9719224 43.63367047 43.63367047 1.634139868 0
100 969.629 441.578303 300.6980086 264.687558 27.77387677 0.606769845 203.9719224 45.06142494 45.06142494 1.634139868 0
101 970.629 441.8894282 300.5735634 264.687558 27.77387677 0.594145709 200.3806463 45.06142494 45.06142494 1.635092276 0
所望の出力
TimeStamp (s) TC 01 (C) TC 02 (C) TC 03 (C) TC 32 (C) Product Back Pressure (kPa) Product Mass Flow (kg/hr) Semtech Flow (kg/hr) Mass Flow (kg/hr) Voltage (V) Angle (degrees)
13 12.178 493.008098 296.2490329 255.8825171 26.3430426 0.31682341 146.0327308 29.26059896 29.26059896 1.634139868 0
77 947.156 443.7872922 301.3202954 264.9986859 27.74277234 0.613081913 199.8419601 44.39531112 44.39531112 1.637947595 0.158889819
サンプルソースデータと期待される出力を追加できます – Shijo
サンプルデータを追加 – mauve
私はPhikに同意します。その列の最大値と最小値の差はわずか15です。データ行を削除すると、かなりの情報が失われる可能性があります。 –