![](/img/trans.png)
[英]Select two pandas columns that have the same digit in the column name
[英]Is there a way in Pandas to subtract two values that are in the same column that have the same name?
這是你想要的?
df.groupby(['x_lot'])['value'].diff()
0 NaN
1 NaN
2 -5.0
3 8.0
4 -3.0
5 NaN
6 -10.0
Name: value, dtype: float64
這是我用來獲得上述結果的數據
x_lot type value
0 mpaczw1 fp 21
1 mpaczw2 d8 12
2 mpaczw2 fp 7
3 mpaczw2 d8 15
4 mpaczw2 fp 12
5 mpaczw3 d8 21
6 mpaczw3 fp 11
建議首先將您的數據轉換為要添加/減去的值在同一行中的格式,然后減去/添加相應的 oclumns。 您可以使用pd.pivot-table
執行此操作。 下面的示例將使用與您共享的示例 dataframe 類似的示例演示這一點:
wanted_data
X_LOT_NAME SPEC_TYPE FORMATTED_ENTRY
0 a FP_FLOW 1
1 a D8_FLOW 2
2 c FP_FLOW 3
3 c D8_FLOW 4
pivot_data = pd.pivot_table(wanted_data,values='FORMATTED_ENTRY',index='X_LOT_NAME',columns='SPEC_TYPE')
pivot_data
SPEC_TYPE D8_FLOW FP_FLOW
X_LOT_NAME
a 2 1
c 4 3
在這一步之后,生成的pivot_data
包含相同的數據,但列是D8_FLOW
和FP_FLOW
,以X_LOT_NAME
作為索引。 現在,您可以使用以下方法在新列中獲取預期值:
pivot_data['DIFF'] = pivot_data['D8_FLOW'] - pivot_data['FP_FLOW']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.