小编Vin*_*eet的帖子

Jupyter | 如何旋转3D图形

我不确定如何在Python Jupyter笔记本中旋转图形,它对我来说是静态的,而不是在鼠标移动时旋转

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib jupyter-notebook

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

Pandas Groupby 仅针对特定字符串值计算多列

我有一个这样的数据框

dummy = pd.DataFrame([
('01/09/2020', 'TRUE', 'FALSE'),
('01/09/2020', 'TRUE', 'TRUE'),
('02/09/2020', 'FALSE', 'TRUE'),
('02/09/2020', 'TRUE', 'FALSE'),
('03/09/2020', 'FALSE', 'FALSE'),
('03/09/2020', 'TRUE', 'TRUE'),
('03/09/2020', 'TRUE', 'FALSE')], columns=['date', 'Action1', 'Action2'])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

现在我想要每天汇总 'TRUE' 动作,它应该看起来像
在此处输入图片说明

我应用了 group by、sum 和 count 等,但没有任何效果对我有用,因为我必须聚合多个列,而且我不想将表拆分为多个数据框并单独解析并合并为一个,有人可以提出建议吗聪明的方法来做到这一点。

python pandas

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

熊猫| 将逗号分隔的组的所有值分组

根据应用程序的要求,我需要以逗号分隔格式显示所有组成的数据,以便管理员可以做出决定,我是Python的新手,不知道如何做到这一点.

样本可重复的数据

import pandas as pd

compnaies = ['Microsoft', 'Google', 'Amazon', 'Microsoft', 'Facebook', 'Google']
products = ['OS', 'Search', 'E-comm', 'X-box', 'Social Media', 'Android']

df = pd.DataFrame({'company' : compnaies, 'product':products })
-----------------------------------------------------------------   
    company     product
0   Microsoft   OS
1   Google      Search
2   Amazon      E-comm
3   Microsoft   X-box
4   Facebook    Social Media
5   Google      Android
Run Code Online (Sandbox Code Playgroud)

现在我按照这个代码计算公司集团的数量

df.groupby(['company']).count()
Run Code Online (Sandbox Code Playgroud)

我需要下面提到的格式的数据,但不知道如何获得它

期望的输出

company    count product
Amazon      1    E-comm
Facebook    1    Social Media
Google      2    Search, Android
Microsoft   2    OS, X-box
Run Code Online (Sandbox Code Playgroud)

python pandas data-cleaning

5
推荐指数
1
解决办法
2760
查看次数

SMOTE,Python 中文本分类的过采样

我正在做文本分类,并且我有非常不平衡的数据,例如

Category | Total Records
Cate1    | 950
Cate2    |  40
Cate3    |  10
Run Code Online (Sandbox Code Playgroud)

现在我想对 Cate2 和 Cate3 进行过度采样,因此它至少有 400-500 条记录,我更喜欢使用 SMOTE 而不是随机采样,代码

from sklearn.model_selection import train_test_split
from imblearn.over_sampling import SMOTE
X_train, X_test, y_train, y_test = train_test_split(fewRecords['text'],
                                   fewRecords['category'])

sm = SMOTE(random_state=12, ratio = 1.0)
x_train_res, y_train_res = sm.fit_sample(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为它无法生成示例合成文本,现在当我将其转换为矢量时

count_vect = CountVectorizer(analyzer='word', token_pattern=r'\w{1,}')
count_vect.fit(fewRecords['category'])

# transform the training and validation data using count vectorizer object
xtrain_count =  count_vect.transform(X_train)
ytrain_train =  count_vect.transform(y_train)
Run Code Online (Sandbox Code Playgroud)

当我想在分类后预测真实类别时,我不确定这是否是正确的方法以及如何将向量转换为真实文本

python nlp machine-learning resampling text-classification

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

如何在python中为非数字变量制作直方图

样本数据

import pandas as pd
import matplotlib.pyplot as plt

dummy = {'id': [1,2,3,4,5], 
        'brand': ['MS', 'Apple', 'MS', 'Google', 'Apple'], 
        'quarter': ['2017Q2', '2017Q2', '2017Q2', '2016Q1', '2015Q1']}

dummyData = pd.DataFrame(dummy, columns = ['id', 'brand', 'quarter'])
dummyData


# id    brand   quarter
# 0 1   MS      2017Q2
# 1 2   Apple   2017Q2
# 2 3   MS      2017Q2
# 3 4   Google  2016Q1
# 4 5   Apple   2015Q1
Run Code Online (Sandbox Code Playgroud)

现在我想使用 matplotlib 和 pandas 绘制直方图,这里是描述

  • X 轴:四分之一
  • Y 轴:值的计数
  • 直方图Bin:填充品牌像2017Q2有MS和Apple的两个颜色值
  • 传奇:品牌名称

我有 R 背景,使用 ggplot 很容易,我想在 Python …

python matplotlib histogram dataframe pandas

4
推荐指数
2
解决办法
8137
查看次数