相关疑难解决方法(0)

Python pandas groupby聚合在多个列上,然后是pivot

在Python中,我有一个类似于以下的pandas DataFrame:

Item | shop1 | shop2 | shop3 | Category
------------------------------------
Shoes| 45    | 50    | 53    | Clothes
TV   | 200   | 300   | 250   | Technology
Book | 20    | 17    | 21    | Books
phone| 300   | 350   | 400   | Technology
Run Code Online (Sandbox Code Playgroud)

shop1,shop2和shop3是不同商店中每件商品的成本.现在,我需要在一些数据清理后返回一个DataFrame,如下所示:

Category (index)| size| sum| mean | std
----------------------------------------
Run Code Online (Sandbox Code Playgroud)

其中size是每个Category中的项目数和sum,mean和std与应用于3个商店的相同功能相关.如何使用split-apply-combine模式(groupby,aggregate,apply,...)执行这些操作?

有人可以帮我吗?我对这个疯狂了......谢谢!

python pivot dataframe pandas data-cleaning

23
推荐指数
2
解决办法
5万
查看次数

将值分配给Pandas中的多个列

我遵循简单的DataFrame - df:

   0
0  1
1  2
2  3
Run Code Online (Sandbox Code Playgroud)

一旦我尝试创建新列并为它们分配一些值,如下例所示:

df['col2', 'col3'] = [(2,3), (2,3), (2,3)]
Run Code Online (Sandbox Code Playgroud)

我有以下结构

   0 (col2, col3)
0  1    (2, 3)
1  2    (2, 3)
2  3    (2, 3)
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找一种方法来获取:

   0 col2, col3
0  1    2,   3
1  2    2,   3
2  3    2,   3
Run Code Online (Sandbox Code Playgroud)

python series dataframe python-2.7 pandas

7
推荐指数
3
解决办法
1万
查看次数

将函数应用于两列pandas数据帧以获得两个新列

我有一个带有列Longitude和的pandas数据框Latitude.我想X和Y他们相处.utm调用from_latlon中有一个函数可以执行此操作.它接收Latitude和Longitude并给出[X,Y].这是我做的:

    def get_X(row):
        return utm.from_latlon(row['Latitude'], row['Longitude'])[0]

    def get_Y(row):
        return utm.from_latlon(row['Latitude'], row['Longitude'])[1] 

    df['X'] = df.apply(get_X, axis=1)
    df['Y'] = df.apply(get_Y, axis=1)
Run Code Online (Sandbox Code Playgroud)

我想定义一个函数get_XY并from_latlon只应用一次来节省时间.我看了一下这里,这里和这里,但我找不到用一个apply函数制作两列的方法.谢谢.

python apply multiple-columns pandas

0
推荐指数
1
解决办法
7761
查看次数