對于下面的數據結構,我希望返回一個基于condition
列的新數據幀。例如,如果"condition" =='A'
,新的數據幀在group1中應該有cols值,如果"condition" =='B'
,新的數據幀在group2中應該有cols值。問題是我不想硬編碼列名,因為在anothervalue
之后可能有很多列。我怎么能這么做?非常感謝你的幫助。例如,對于這個輸入數據幀,
+---------+---------+---------+
|condition| group1| group2|
+---------+---------+---------+
| A|{SEA, WA}|{PDX, OR}|
| B| {NY, NY}| {LA, CA}|
+---------+---------+---------+
我想得到這個輸出:
+---------+---------+
|condition| group |
+---------+---------+
| A|{SEA, WA}|
| B| {LA, CA}|
+---------+---------+
上述輸入數據幀是使用此json架構創建的:
jsonStrings = ['{"condition":"A","group1":{"city":"SEA","state":"WA"},"group2":{"city":"PDX","state":"OR"}}','{"condition":"B","group1":{"city":"NY","state":"NY"},"group2":{"city":"LA","state":"CA"}}']
您只需使用
when
并按如下所示構造條件的動態列表Output: