小编yat*_*atu的帖子

计算每组中 NaN 的数量

在此数据框中,我尝试计算每种颜色有多少个 NaNcolor

这就是示例数据的样子。实际上,有 100k 行。

   color     value  
0  blue      10 
1  blue      NaN  
2  red       NaN
3  red       NaN
4  red       8
5  red       NaN
6  yellow    2
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像这样:

   color     count  
0  blue      1 
1  red       3
2  yellow    0
Run Code Online (Sandbox Code Playgroud)

python pandas

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

使用级别中的唯一值重新索引 MultiIndex

我有这个数据框:

df = pd.DataFrame({'NUMBER_1': {('2019-07', 'A'): 4, ('2019-07', 'D'): 2, ('2019-08', 'A'): 32, ('2019-08', 'B'): 14, ('2019-09', 'A'): 32, ('2019-09', 'B'): 53, ('2019-09', 'C'): 54, ('2019-09', 'D'): 24},
 'NUMBER_2': {('2019-07', 'A'): 75, ('2019-07', 'D'): 12, ('2019-08', 'A'): 42, ('2019-08', 'B'): 32, ('2019-09', 'A'): 54, ('2019-09', 'B'): 21,  ('2019-09', 'C'): 97, ('2019-09', 'D'): 65}})
Run Code Online (Sandbox Code Playgroud)

df

在此处输入图片说明

我在哪里寻找这个输出:

在此处输入图片说明

我已经看到了针对分类类型列的类似问题,但没有看到针对索引的类似问题,我正在寻找一种方法来避免使用该方法,reset_index()因为实际上我使用了四个索引,而不是最小示例中的两个索引。有什么建议?

python pandas

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

如何使用遮罩更改图像的颜色?

我正在编写一个代码来改变一个人面部图片中头发的颜色。这样做我做了一个模型,并且能够得到头发部分的面具。但是现在我遇到了如何改变它的颜色的问题。

下面是传递的输出掩码和输入图像。

在此处输入图片说明 在此处输入图片说明

你能告诉我可以用来把头发的颜色变成不同颜色的方法吗?

python opencv computer-vision python-3.x opencv3.0

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

在集合列表中查找重复的集合

我有一组集合,我想检查两个或多个集合是否相同。我不需要按照精确的顺序查看这些集合。

示例列表

list = [
    {7, 12, 16, 17, 31},
    {33, 4, 8, 10, 46},
    {6, 40, 43, 22, 29},
    {2, 35, 9, 41, 31},
    {34, 38, 42, 43, 45},
    {38, 16, 20, 25, 30},
    {2, 10, 45, 19, 25},
    {4, 44, 41, 14, 16},
    {39, 40, 16, 25, 28},
    {34, 37, 45, 19, 23},
    {4, 41, 44, 14, 16},
]
Run Code Online (Sandbox Code Playgroud)

列表中有两个相同的集合,但编号顺序不同。如何检查这些?

python list set

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

模块“xgboost”没有属性“DMatrix”

我提取了一些在 kaggle (linux) 上运行的 ML 代码,并尝试在 Windows 机器上的 jupyter notebook 中运行它。这是代码(其中一些):

##### RUN XGBOOST
import xgboost as xgb

print("\nSetting up data for XGBoost ...")
# xgboost params
xgb_params = {
    'eta': 0.037,
    'max_depth': 5,
    'subsample': 0.80,
    'objective': 'reg:linear',
    'eval_metric': 'mae',
    'lambda': 0.8,   
    'alpha': 0.4, 
    'base_score': y_mean,
    'silent': 1
}

#### These lines were causing the folloing error on 9/1/2017:
# AttributeError: module 'xgboost' has no attribute 'DMatrix'
dtrain = xgb.DMatrix(x_train.values, y_train.values)
dtest = xgb.DMatrix(x_test)

num_boost_rounds = 250
print("num_boost_rounds="+str(num_boost_rounds))

# train …
Run Code Online (Sandbox Code Playgroud)

python machine-learning xgboost

4
推荐指数
1
解决办法
4717
查看次数

从列表Python列表中删除列表

我有一份清单清单:

[[0.0,3.3, 4.9, 7.5], [4, 6, 90, 21, 21.1], [3, 43, 99, 909, 2.11, 76, 76.9, 1000]]
Run Code Online (Sandbox Code Playgroud)

如果该子列表包含给定范围之外的元素,我想从列表中删除子列表.

例如; 范围= 3,15

因此,如果子列表包含-69,-17,0,1,2,15.1,26.99,即任何超出该范围的元素,我希望删除该子列表.

应返回的输出是列表列表,其中所有子列表仅包含该范围内的值:

[[6, 5, 7, 13, 12], [4, 6, 10], [9, 9, 4, 5, 11], [4, 4]]
Run Code Online (Sandbox Code Playgroud)

我知道这里有类似的问题,例如:

从列表列表中删除子列表

Python - 从列表列表中删除列表(与.pop()类似的功能)

我无法让这些解决方案起作用.

我的目标是不删除重复的列表:有很多问题,但这不是我的目标.

我的代码:

max_value = 15
min_value = 3

for sublist in my_list:
  for item in sublist:
    if(item < min_value):
        my_list.pop(sublist)
    if(item > max_value):
        my_list.pop(sublist)
print(my_list)
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: 'list' object cannot be interpreted as an integer
Run Code Online (Sandbox Code Playgroud)

python numpy list

4
推荐指数
1
解决办法
2614
查看次数

Python生成所有可能的矩阵组合

我需要在Python中生成矩阵的所有组合.输入将是两个整数n和m,我需要生成该矩阵的所有可能状态,其中1和0为可能的值.

例如:

n = 3 m = 2
[[0 0 0] [1 0 0] [1 1 0]
 [0 0 0] [0 0 0] [0 0 0]
 [0 0 0],[0 0 0],[0 0 0] . . . . .
]
Run Code Online (Sandbox Code Playgroud)

有没有一种干净有效的方法可以做到这一点,因为我不知道运行时n和m的值?使用的最高值是n = 16 m = 16.

python math combinations list

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

为数据帧切片中的列添加前缀

我有一个相当大的 DataFrame(~500 列和 >5000 行)。我想为前 15 列添加一个前缀。我找到了一个函数add_prefix(),它可以一次为所有列设置前缀。我尝试了以下方法:

df[df.columns[range(0,15)]] = df[df.columns[range(0,15)]].add_prefix('f_')
Run Code Online (Sandbox Code Playgroud)

'f_'作为前缀,我想补充。然而,输出似乎没有改变。

>>>
       mean        std         var  ...         525       526  label
0 -2.546261  17.827072  317.804485  ...   -0.314016 -0.310878    0.0
1 -2.338710  17.915556  320.967136  ...   -0.345603 -0.343088    0.0
2 -2.095051  17.539407  307.630788  ...   -0.323596 -0.324990    0.0
3 -1.685209  18.257797  333.347150  ...   -0.310060 -0.320796    0.0
4 -1.846169  17.240523  297.235618  ...   -0.318660 -0.322732    0.0
Run Code Online (Sandbox Code Playgroud)

我想要的是:

>>>
     f_mean      f_std       f_var  ...         525       526  label
0 -2.546261  17.827072  317.804485  ...   -0.314016 -0.310878    0.0 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
1398
查看次数

如何在列中的每个不同值上拆分 DataFrame?

下面是一个示例数据帧。

      0      1     2     3          4
0   0.0  13.00  4.50  30.0   0.0,13.0
1   0.0  13.00  4.75  30.0   0.0,13.0
2   0.0  13.00  5.00  30.0   0.0,13.0
3   0.0  13.00  5.25  30.0   0.0,13.0
4   0.0  13.00  5.50  30.0   0.0,13.0
5   0.0  13.00  5.75   0.0   0.0,13.0
6   0.0  13.00  6.00  30.0   0.0,13.0
7   1.0  13.25  0.00  30.0  0.0,13.25
8   1.0  13.25  0.25   0.0  0.0,13.25
9   1.0  13.25  0.50  30.0  0.0,13.25
10  1.0  13.25  0.75  30.0  0.0,13.25
11  2.0  13.25  1.00  30.0  0.0,13.25
12  2.0 …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe python-3.x pandas

4
推荐指数
1
解决办法
543
查看次数

如何通过标点符号拆分熊猫列中的长字符串

我有一个 df 看起来像这样:

words                                              col_a   col_b  
I guess, because I have thought over that. Um,       1       0 
That? yeah.                                          1       1
I don't always think you're up to something.         0       1                                                       
Run Code Online (Sandbox Code Playgroud)

我想将 df.words 存在标点符号的地方拆分(.,?!:;)为单独的行。但是,我想为每个新行保留原始行中的 col_b 和 col_b 值。例如,上面的 df 应该是这样的:

words                                              col_a   col_b  
I guess,                                             1       0
because I have thought over that.                    1       0
Um,                                                  1       0 
That?                                                1       1
yeah.                                                1       1
I don't always think you're up to something.         0       1
Run Code Online (Sandbox Code Playgroud)

python nlp pandas

4
推荐指数
1
解决办法
53
查看次数