[英]Python append value to list of unique objects
請原諒這個問題。 在過去的幾個月中,我一直在積極嘗試對編程進行基本的了解。 差距很多,所以我可能不知道我不知道的地方。
我正在使用的數據集目前在excel中,因此VBA可能是一個不錯的選擇,但是我想以此為契機使用Python。 我將數據導入為CSV,然后進行操作。 這似乎非常適合熊貓數據框...
我有一個列表對象,每個對象都有幾個命名值:
Object Name | Value Name | Value |
|:-----------|------------:|:------------:|
| a1 | top1 | 20
| a1 | top2 | 30
| a1 | top3 | 65
| a2 | top1 | 28
| a2 | top2 | 32
| a3 | top1 | 89
| a3 | top2 | 120
| a3 | top3 | 160
...
在單獨的列表中,我為每個對象都有一個附加值
Object Name | Value Name | Value |
|:-----------|------------:|:------------:|
| a1 | base | 99
| a2 | base | 250
| a3 | base | 600
| a4 | base | 87
| a5 | base | 1202
| a6 | base | 58
...
我想為每個對象附加新的值/值名稱。
輸出應如下所示(星號表示附加值):
Object Name | Value Name | Value |
|:-----------|------------:|:------------:|
| a1 | top1 | 20
| a1 | top2 | 30
| a1 | top3 | 65
| a1 * | base | 99
| a2 | top1 | 28
| a2 | top2 | 32
| a2 * | base | 250
| a3 | top1 | 89
| a3 | top2 | 120
| a3 | top3 | 160
| a3 * | base | 600
從粗略的意義上講,這就是我要完成的工作:
for each object in objects:
if df_Objects[ObjectName] = df_Object_Base[ObjectName]:
df_Objects = df_Objects + {Value_Name, Value}
我只是最近才成功安裝了熊貓,但並沒有使它得到太多使用。 最終目標是將修改后的數據導出為CSV。 如果您有一個更簡單的方法,我將很樂意看到它。
感謝@johnchase提供的見解,可以找到此問題的解決方案。
我試圖在一個列上連接兩個數據幀(來自上面鏈接的示例):
>>> A >>> B
lkey value rkey value
0 foo 1 0 foo 5
1 bar 2 1 bar 6
2 baz 3 2 qux 7
3 foo 4 3 bar 8
--
>>> merge(A, B, left_on='lkey', right_on='rkey', how='outer')
lkey value_x rkey value_y
0 foo 1 foo 5
1 foo 4 foo 5
2 bar 2 bar 6
3 bar 2 bar 8
4 baz 3 NaN NaN
5 NaN NaN qux 7
從這里使用熊貓導出為csv應該是一個非常簡單的操作。
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.