簡體   English   中英

使用 pandas 行中的值創建和填充新列

[英]Create and fill new columns using values in rows pandas

我有兩個數據框:

Dataframe A:

Col1   Col2   Value
 A      X       1
 A      Y       2
 B      X       3
 B      Y       2
 C      X       5
 C      Y       4

Dataframe B:

Col1   
 A
 B
 C

我需要為 Dataframe A 的 Col2 中的每個值(在本例中為 X 和 Y)中的每個值添加到 Dataframe B 一列,並在合並 Col1 上的兩個數據幀后用“值”列中的值填充它們。 就這個:

Col1   X    Y
 A     1    2
 B     3    2
 C     5    4

非常感謝您的幫助!

B['X'] = A.loc[A['Col2'] == 'X', 'Value'].reset_index(drop = True)
B['Y'] = A.loc[A['Col2'] == 'Y', 'Value'].reset_index(drop = True)


      Col1  X   Y
   0    A   1   2
   1    B   3   2
   2    C   5   4

如果您要在 Col2 中有 100 個不同的值,那么您將在循環中調用上述兩行,如下所示:

for t in A['Col2'].unique():
    B[t] = A.loc[A['Col2'] == t, 'Col3'].reset_index(drop = True)
    B[t] = A.loc[A['Col2'] == t, 'Col3'].reset_index(drop = True)

B

你得到相同的 output:

      Col1  X   Y
   0    A   1   2
   1    B   3   2
   2    C   5   4

暫無
暫無

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

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