如果我有一个类似于这个的数据帧
Apples Bananas Grapes Kiwis
2 3 nan 1
1 3 7 nan
nan nan 2 3
Run Code Online (Sandbox Code Playgroud)
我想添加一个这样的列
Apples Bananas Grapes Kiwis Fruit Total
2 3 nan 1 6
1 3 7 nan 11
nan nan 2 3 5
Run Code Online (Sandbox Code Playgroud)
我想你可以使用df['Apples'] + df['Bananas']等等,但我的实际数据帧比这大得多.我希望一个公式df['Fruit Total']=df[-4:-1].sum可以在一行代码中完成这个技巧.然而,这没有奏效.有没有办法在没有明确总结所有列的情况下做到这一点?
我有一个看起来像这样的数据框
Month Fruit Sales
1 Apple 45
1 Bananas 12
3 Apple 6
1 Kiwi 34
12 Melon 12
Run Code Online (Sandbox Code Playgroud)
我正在尝试获得这样的数据帧
Fruit Sales (month=1) Sales (month=2)
Apple 55 65
Bananas 12 102
Kiwi 54 78
Melon 132 43
Run Code Online (Sandbox Code Playgroud)
现在我有
df=df.groupby(['Fruit']).agg({'Sales':np.sum}).reset_index()
Run Code Online (Sandbox Code Playgroud)
必须有一些方法可以根据"Month"变量过滤agg()中的参数.我只是无法在文档中找到它.有帮助吗?
编辑:感谢您的解决方案.为了使事情复杂化,我想总结另一个专栏.例:
Month Fruit Sales Revenue
1 Apple 45 45
1 Bananas 12 12
3 Apple 6 6
1 Kiwi 34 34
12 Melon 12 12
Run Code Online (Sandbox Code Playgroud)
首选输出类似于
Sales Revenue
Fruit 1 3 12 1 3 12
0 Apple 61 6 0 …Run Code Online (Sandbox Code Playgroud) 我有一个带有字符串格式的datetime列的Pandas数据框。格式如下:
06 Feb 2014 12:09:42:000
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为日期时间。现在我有:
df['date'] = pd.to_datetime(df['STARTDATE'],format='')
Run Code Online (Sandbox Code Playgroud)
我的问题是,我不知道要在format参数中放置什么以正确解析字符串。可以做到这一点,还是有更好的功能要使用?
我正在尝试对我的数据帧进行聚合.问题是我需要聚合超过一百列.现在我把它们全部打印出来
df_grouped = df.groupby(['Column1'])['Column2','Column3','Column4','Column5'].sum()
Run Code Online (Sandbox Code Playgroud)
直到最后一栏.如果必须进行更改,则非常烦人且难以维护.有没有办法在没有明确输入的情况下引用这些列?