![](/img/trans.png)
[英]How do I add a new column with a repeated value per group based on condition in a Pandas DataFrame?
[英]How do I add repeated month rows for every unique value in a pandas dataframe column?
我有一個如下所示的數據框:
df1 = pd.DataFrame({'Part':['Wheel', 'Door', 'Light', 'Seatbelt']})
我想為'part'
每個唯一值添加月份列,以便我得到一個如下所示的數據框:
df2 = pd.DataFrame({'Part':['Wheel','Wheel','Wheel','Wheel','Wheel','Wheel','Wheel','Wheel'
,'Door','Door','Door','Door','Door','Door','Door','Door'
,'Light','Light','Light','Light','Light','Light','Light','Light'
,'Seatbelt', 'Seatbelt','Seatbelt','Seatbelt','Seatbelt','Seatbelt','Seatbelt','Seatbelt',]
,'Month':['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',]})
pandas python 中是否有一個函數可以讓我為每個唯一值添加這些行?
主要思想是,一旦我創建了這個數據幀,我就可以將另一個數據幀合並到這個數據幀,這樣一旦合並,它們就會顯示零值。
將itertools.product
與傳遞給 DataFrame 構造函數的月份列表一起使用:
from itertools import product
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August']
df = pd.DataFrame(product(df1['Part'].unique(), months), columns=['Part','Month'])
print (df)
Part Month
0 Wheel January
1 Wheel February
2 Wheel March
3 Wheel April
4 Wheel May
5 Wheel June
6 Wheel July
7 Wheel August
8 Door January
9 Door February
10 Door March
11 Door April
12 Door May
13 Door June
14 Door July
15 Door August
16 Light January
17 Light February
18 Light March
19 Light April
20 Light May
21 Light June
22 Light July
23 Light August
24 Seatbelt January
25 Seatbelt February
26 Seatbelt March
27 Seatbelt April
28 Seatbelt May
29 Seatbelt June
30 Seatbelt July
31 Seatbelt August
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.