小编use*_*284的帖子

熊猫:具有相同名称的列的平均值

我有一个包含以下列的数据框:

['id','name','foo1', 'foo1', 'foo1', 'foo2','foo2', 'foo3']
Run Code Online (Sandbox Code Playgroud)

我想获得一个新的数据框,其中共享相同名称的列是平均的:

['id','name','foo1', 'foo2','foo3']
Run Code Online (Sandbox Code Playgroud)

这里列foo1将是原始数据帧中名为foo1的三列的平均值,foo2将是名为foo2的两列的平均值,而foo3将只是foo3

注意:id和name不是数字,我必须保留它们.

python pandas

10
推荐指数
1
解决办法
5610
查看次数

处理点击流以在Pandas中创建功能的最佳方式

我正在使用点击流处理数据框,并且我在点击流中为每个用户提取要在机器学习项目中使用的功能.

数据框是这样的:

data = pd.DataFrame({'id':['A01','B01','A01','C01','A01','B01','A01'],
                     'event':['search','search','buy','home','cancel','home','search'],
                     'date':['2018-01-01','2018-01-01','2018-01-02','2018-01-03','2018-01-04','2018-01-04','2018-01-06'],
                     'product':['tablet','dvd','tablet','tablet','tablet','book','book'],
                     'price': [103,2,203,103,203,21,21]})
data['date'] = pd.to_datetime(data['date'])
Run Code Online (Sandbox Code Playgroud)

因为我必须为每个用户创建功能,所以我使用groupby/apply使用自定义函数,例如:

featurized = data.groupby('id').apply(featurize)
Run Code Online (Sandbox Code Playgroud)

创建用户功能将占用数据帧的一大块并创建许多(数百个)功能.整个过程太慢了,所以我正在寻找一个更有效地做到这一点的建议.

用于创建功能的函数示例:

def featurize(group):
    features = dict()

    # Userid
    features['id'] = group['id'].max()
    # Feature 1: Number of search events
    features['number_of_search_events'] = (group['event']=='search').sum()
    # Feature 2: Number of tablets
    features['number_of_tablets'] = (group['product']=='tablet').sum()
    # Feature 3: Total time
    features['total_time'] = (group['date'].max() - group['date'].min()) / np.timedelta64(1,'D')
    # Feature 4: Total number of events
    features['events'] = len(group)
    # Histogram of products examined
    product_counts = group['product'].value_counts()
    # Feature …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

awesome-wm 外接显示器和笔记本电脑

我在笔记本电脑上使用带有外接显示器的超棒 wm,但有时我只移动并携带笔记本电脑。

我的问题是:当我断开连接以移动笔记本电脑时,在外部显示器中打开的客户端会发生什么?

有没有办法让很棒记住屏幕的布局?目前,我每次插入屏幕时都在使用 arandr,但每次移动笔记本电脑时都这样做很烦人。

一般来说,我正在寻找有关如何使用外部显示器和笔记本电脑处理设置的任何提示。

谢谢!

awesome-wm

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

Zscore每组的熊猫过滤异常

我有一个数据框,其中的“组”列可以有50个不同的值,而“值”列是数字的。

例如:

pd.DataFrame({'group':['a','b','c','a','a','b','a','c','c'],'value':[2,123,4,2.3,2.5,127,128,4,0.003]})

group   value
0   a   2.000
1   b   123.000
2   c   4.000
3   a   2.300
4   a   2.500
5   b   127.000
6   a   128.000
7   c   4.000
8   c   0.003
Run Code Online (Sandbox Code Playgroud)

我想从数据框中删除与其组异常的值,例如abs(zscore)> 3或类似的值。在该示例中,值a,128将被删除,因为它对于组a是异常的,值c,0.003也将被删除。123和127是正常的,因为它们的组是“ b”。

输出应类似于(带有z分数列):

group   value
0   a   2.0
1   b   123.0
2   c   4.0
3   a   2.3
4   a   2.5
5   b   127.0
6   c   4.0
Run Code Online (Sandbox Code Playgroud)

什么是有效的方法?

谢谢!

python pandas

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

将Pandas DataFrame转换为单行DataFrame

我见过类似的问题,但我的问题更直接,更抽象.

我有一个"n"行的数据帧,"n"是一个小数字.我们可以假设索引只是行号.我想把它转换成一行.

所以,例如,如果我有

A,B,C,D,E
---------
1,2,3,4,5
6,7,8,9,10
11,12,13,14,5
Run Code Online (Sandbox Code Playgroud)

我想要一个带有单行的数据帧:

A_1,B_1,C_1,D_1,E_1,A_2,B_2_,C_2,D_2,E_2,A_3,B_3,C_3,D_3,E_3
--------------------------
1,2,3,4,5,6,7,8,9,10,11,12,13,14,5
Run Code Online (Sandbox Code Playgroud)

在熊猫中最常用的方法是什么?

python pandas

3
推荐指数
3
解决办法
2213
查看次数

Matplotlib:具有日期和数值的散点图

我想生成一个简单的散点图,在X轴上显示日期,在Y轴上显示数值,并且出现类型升级错误。数据来自熊猫数据框。

这是我所拥有的价值的一小部分

X(熊猫系列):

....
179   2016-11-08 18:03:00
180   2016-11-08 18:16:00
181   2016-11-08 18:18:00
182   2016-11-08 18:19:00
183   2016-11-08 18:20:00
184   2016-11-08 18:21:00
Run Code Online (Sandbox Code Playgroud)

名称:日期,长度:185,dtype:datetime64 [ns]

Y轴不是问题:

....
180    18.266667
181    18.300000
182    18.316667
183    18.333333
184    18.350000
Run Code Online (Sandbox Code Playgroud)

长度:185,dtype:float64

如果我做:

plt.scatter(X,Y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到类型升级错误。谢谢您的帮助!

python matplotlib pandas

2
推荐指数
1
解决办法
3860
查看次数

标签 统计

pandas ×5

python ×5

awesome-wm ×1

matplotlib ×1