簡體   English   中英

Python/Pandas:根據共同的行標識符和唯一的行列組合從不同的數據框中划分數字列

[英]Python/Pandas: Divide numeric columns from different dataframes based on a common row identifier and unique row-col combination

我想根據一個共同的唯一行標識符和唯一的行列組合來計算兩個數據幀的數字列之間的變化率。

這是一個例子。 我選擇將表格呈現為圖像,以便使用顏色來突出兩個數據集的特點。 也就是說,每個數據幀都包含數字和非數字列,並且行和列的順序可能不同。 此外,應在其上進行計算的數字列始終是“時間”列之后的數字列。

F

df.divide()方法在這里不起作用,因為行和列的順序不同。 我也看到了這個帖子中的最佳答案,但這種方法並沒有推廣到我的。

如果您的問題本質上是列和行的順序不正確,則可以通過對列和行重新排序來解決。

#Identifying the columns for which the difference is to be computed. Since #'Time' is the 4th column, we take all columns after that
valCols = list(df.columns)[4:]

#Sorting the datasets so that the rows align
df1 = df1.sort_values('ID')
df2 = df2.sort_values('ID')

#Keeping only the value columns. This also ensures that the columns are in the same order now
df1 = df1[valCols]
df2 = df1[valCols]


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM