我将迭代不同球员的棒球统计数据的大量数据帧。该数据按年份编制索引。我想做的是团体年,同时保持工资不变并增加 war 。另外,我希望删除不是单一年份的行。在我的数据集中,这些条目是字符串。
加入群组
for x in clean_stats_list:
x.groupby("Year")
消除行
for x in clean_stats_list:
for i in x['Year']:
if len(i) > 4:
x['Year'][i].drop()
WAR Year Salary
0 1.4 2008 $390,000
1 0.9 2009 $418,000
2 2.4 2010 $445,000
3 3.6 2011 $3,400,000
4 5.2 2012 $5,400,000
5 1.3 2013 $7,400,000
6 6.8 2014 $10,000,000
7 3.8 2015 $10,000,000
9 0.2 2015 $10,000,000
11 5.5 2016 $15,833,333
12 2.0 2017 $21,833,333
13 1.3 2018 $21,833,333
14 34.3 11 Seasons $96,952,999
16 25.4 CIN (8 yrs) $37,453,000
17 8.8 SFG (3 yrs) $59,499,999
这就是我期望实现的目标:
WAR Year Salary
0 1.4 2008 $390,000
1 0.9 2009 $418,000
2 2.4 2010 $445,000
3 3.6 2011 $3,400,000
4 5.2 2012 $5,400,000
5 1.3 2013 $7,400,000
6 6.8 2014 $10,000,000
7 4.0 2015 $10,000,000
11 5.5 2016 $15,833,333
12 2.0 2017 $21,833,333
13 1.3 2018 $21,833,333
最佳答案
要根据年份
列的长度进行过滤,为什么不尝试创建一个掩码,然后根据它进行选择。
代码:
mask_df = your_df['Year'].str.len() == 4
your_df_cleaned = your_df.loc[mask_df]
关于python - 希望合并/连接/分组 Pandas 数据框中的不同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57487935/