![](/img/trans.png)
[英]How can I subset a data frame for unique rows using repeating values from a column in another data frame in python?
[英]How can I subset a data frame based on a list of unique values in a columns of that same data frame?
我有一個簡單的數據框,看起來像這樣。 我希望能夠選擇LOC是紐約的所有行,將此數據框作為子集並將其標記為變量,我可以使用該變量將紐約行附加到我使用win32創建的聯系人電子郵件中。 然后移動到波士頓並做同樣的事情,等等。我無法弄清楚如何在沒有明確命名的情況下提取LOC行。 我希望隨着LOC值的變化,這是動態的。
Contact LOC ... Add_Move First Name
0 mike@osjloc1.com New York ... Add Joe
1 mike@osjloc1.com New York ... Move Stan
2 mike@osjloc1.com New York ... Add Rick
3 mike@osjloc1.com New York ... Add Mike
4 jeff@osjloc2.com Boston ... Add Sonya
5 jeff@osjloc2.com Boston ... Move Matt
6 jeff@osjloc2.com Boston ... Move Randy
7 jeff@osjloc2.com Boston ... Add Sue
8 dave@osjloc.com Los Angeles ... Add Jill
9 dave@osjloc.com Los Angeles ... Move Steve
10 dave@osjloc.com Los Angeles ... Add Bill
布爾索引。 您可以根據列值屏蔽數據框中的列https://www.geeksforgeeks.org/boolean-indexing-in-pandas/
獲取DataFrame中的所有唯一位置。
locations = set(df.loc[:,"LOC"])
地點將返回一組{“紐約”,“波士頓”,...}
for location in locations:
variable = df[df["LOC"]==location]
for循環將遍歷創建的值集。 要根據列值過濾數據,我們可以根據==,!=,...等運算符創建一個掩碼。
你可以使用pandas
groupby 。
groups = yourdataframe.groupby('LOC')
groups
包含根據'LOC'
列拆分的數據框子集。 如果你迭代它,每次迭代你有一個2長度的元組。 廣告索引0,對應於'LOC'
的值的字符串,在索引1處,對應於子集(仍然是數據幀)的數據幀。
for locname, subset in groups:
#do whatever you want with the subset
不確定您需要做什么,但是例如,要打印電子郵件列表,您可以:
for locname, subset in groups:
print(subset['Contact'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.