【发布时间】:2014-10-13 05:04:14
【问题描述】:
熊猫新手。想知道如何用由多列分组的数据框进行划分?我想获得 var3(通过某种条件)'var1'和'var2'的比例。可以将这个问题想象为计算在正常工作时间和职业中花费的工作时间百分比。 Var 3 是按天和职业分组的工作时间(以 df2 的正常工作时间为条件)
df = pd.DataFrame(data) ###all data, here all time
df2 = df[(df['hours'] > x)] ### subset, here all time during normal business hours
df = df.groupby(["var1", "var2"]).var3.sum()
df2 = df2.groupby(["var1", "var2"]).var3.sum()
normal_bus_hours_percent = (df2.div(df, level=['var1', 'var2']) * 100)
这失败了 TypeError: Join on level between two MultiIndex objects is ambiguous
即使您可以帮我合并这些数据框。我收到此错误: AttributeError:“系列”对象没有属性“列”
如果我尝试连接,我会收到以下错误: TypeError: first argument must be a list-like of pandas objects, you pass a object of type "Series"
我来自 R,所以我习惯了简单的 cbind 或合并。
【问题讨论】:
-
你使用的是哪个版本的熊猫?
标签: python pandas merge dataframe concat