簡體   English   中英

根據數據框中的列分組和提取唯一項?

[英]Grouping and extraction unique items based on columns in dataframes?

我有一個數據框,如下所示:

mydata:

Id, date
X1, 2015,01
X2, 2015,02
X2, 2015,02
X3, 2015,03
X3, 2015,03
X4, 2015,03
X4, 2015,03
X5, 2015,05
X6, 2015,05
X7, 2015,05

我想從此數據框中提取兩個列表以進行繪圖。 在第一個列表“ x_labels”中,我想要具有唯一的日期,在第二個列表“ y_values”中,我想要具有相同日期的唯一ID的數量。 我可以通過以下代碼提取第一個列表:

x= mydata.groupby(by=[date],as_index=False)
x_labels=list(x.size().reset_index([0])[date'])

因此,輸出為:

x_labels=[‘2015,01’, ‘2015,02’, ‘2015,03’, ‘2015,05’]

但是,我無法提取第二個列表( y_values )。 所需的列表應如下所示:

y_values=[1,1,2,3]

pandas.DataFrame.groupby.nunique給出x_valuesy_values

d = df.groupby('date')['Id'].nunique()
print(d)

輸出:

date
2015,01    1
2015,02    1
2015,03    2
2015,05    3
Name: Id, dtype: int64

您可以提取所需的變量:

x_values, y_values = list(d.index), list(d.values)
x_values
# ['2015,01', '2015,02', '2015,03', '2015,05']
y_values
# [1, 1, 2, 3]

暫無
暫無

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

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