小编hli*_*117的帖子

如何检查Pandas DataFrame中的任何值是否为NaN

在Python Pandas中,检查DataFrame是否具有一个(或多个)NaN值的最佳方法是什么?

我知道函数pd.isnan,但是这会为每个元素返回一个布尔数据框架.这篇文章也没有完全回答我的问题.

python nan dataframe pandas

428
推荐指数
14
解决办法
69万
查看次数

使用本地makefile进行CLion而不是CMake

有没有办法配置CLion使用本地makefile来编译代码,而不是CMake?我似乎无法从构建选项中找到方法.

makefile clion

145
推荐指数
4
解决办法
9万
查看次数

我如何grep隐藏文件?

我正在搜索Git存储库,并希望包含该.git文件夹.

grep 如果我跑,则不包括此文件夹

grep -r search *
Run Code Online (Sandbox Code Playgroud)

包含此文件夹的grep命令是什么?

grep dotfiles hidden-files

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

NumPy:除以0,除以零

我试图在python中执行元素明智的划分,但如果遇到零,我需要商才为零.

例如:

array1 = np.array([0, 1, 2])
array2 = np.array([0, 1, 1])

array1 / array2 # should be np.array([0, 1, 2])
Run Code Online (Sandbox Code Playgroud)

我总是可以通过我的数据使用for循环,但要真正利用numpy的优化,我需要除法函数在除以零错误时返回0而不是忽略错误.

除非我遗漏了某些内容,否则numpy.seterr()似乎不会在出错时返回值.有没有人有任何其他的建议,我可以如何通过零错误处理设置我自己的鸿沟来获得最好的numpy?

python arrays error-handling numpy divide-by-zero

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

Pandas Dataframe/Numpy Array"轴"定义中的歧义

关于如何定义python轴以及它们是否引用DataFrame的行或列,我一直很困惑.请考虑以下代码:

>>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"])
>>> df
   col1  col2  col3  col4
0     1     1     1     1
1     2     2     2     2
2     3     3     3     3
Run Code Online (Sandbox Code Playgroud)

因此,如果我们打电话df.mean(axis=1),我们将获得跨行的平均值:

>>> df.mean(axis=1)
0    1
1    2
2    3
Run Code Online (Sandbox Code Playgroud)

但是,如果我们调用df.drop(name, axis=1),我们实际上会删除一列而不是一行:

>>> df.drop("col4", axis=1)
   col1  col2  col3
0     1     1     1
1     2     2     2
2     3     3     3
Run Code Online (Sandbox Code Playgroud)

有人能帮助我理解pandas/numpy/scipy中"轴"的含义吗?

旁注,DataFrame.mean可能被定义错了.它在文档中说, …

python arrays numpy dataframe pandas

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

scikit-learn:字符串分类功能的一种热门编码

我正在尝试执行一个简单数据集的热编码.

data = [['a', 'dog', 'red']
        ['b', 'cat', 'green']]
Run Code Online (Sandbox Code Playgroud)

使用Scikit-Learn预处理此数据的最佳方法是什么?

在第一直觉上,你会看到Scikit-Learn的OneHotEncoder.但是一个热门编码器不支持字符串作为功能; 它只会离散整数.

那么你将使用LabelEncoder,它将字符串编码为整数.但是,您必须将标签编码器应用到每个列中,并存储这些标签编码器中的每一个(以及它们所应用的列).这感觉非常笨重.

那么,在Scikit-Learn中最好的方法是什么?

请不要建议pandas.get_dummies.这就是我现在通常使用的一种热编码方式.但是,它无法单独编码您的训练/测试集.

python encoding scikit-learn one-hot-encoding

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

gensim word2vec:查找词汇表中的单词数量

在使用python gensim训练word2vec模型后,你如何找到模型词汇中的单词数量?

python nlp neural-network gensim word2vec

29
推荐指数
3
解决办法
4万
查看次数

Numpy:基于索引数组重新排列数组

我正在寻找能够帮助我做到以下几点的单线解决方案.

假设我有

array = np.array([10, 20, 30, 40, 50])
Run Code Online (Sandbox Code Playgroud)

我想根据输入顺序重新排列它.如果调用了numpy函数arrange,它将执行以下操作:

newarray = np.arrange(array, [1, 0, 3, 4, 2])
print newarray

    [20, 10, 40, 50, 30]
Run Code Online (Sandbox Code Playgroud)

形式上,如果要重新排序的数组是mxn,并且"index"数组是1 xn,则排序将由名为"index"的数组确定.

numpy有这样的功能吗?

python arrays numpy

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

Python Pandas:Series的"Reduce"功能

是否有适用reduce于熊猫系列的模拟?

例如,对于模拟mappd.Series.apply,但我无法找到任何模拟reduce.


我的申请是,我有一个大熊猫系列清单:

>>> business["categories"].head()

0                      ['Doctors', 'Health & Medical']
1                                        ['Nightlife']
2                 ['Active Life', 'Mini Golf', 'Golf']
3    ['Shopping', 'Home Services', 'Internet Servic...
4    ['Bars', 'American (New)', 'Nightlife', 'Loung...
Name: categories, dtype: object
Run Code Online (Sandbox Code Playgroud)

我想将这些系列列表合并在一起使用reduce,如下所示:

categories = reduce(lambda l1, l2: l1 + l2, categories)
Run Code Online (Sandbox Code Playgroud)

但这需要花费可怕的时间,因为将两个列表合并在一起就是O(n)Python的时间.我希望pd.Series有一种矢量化的方式来更快地执行此操作.

python performance reduce vectorization pandas

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

使用lambda函数在嵌套列表中查找总和

我有一个与此类似的数据结构

table = [
    ("marley", "5"),
    ("bob", "99"),
    ("another name", "3")
]
Run Code Online (Sandbox Code Playgroud)

我想做什么,得到第二列(5 + 99 + 3)的总和在功能上像这样:

total = sum(table, lambda tup : int(tup[1]))
Run Code Online (Sandbox Code Playgroud)

这将是与python函数类似的语法sorted,但这不是你将如何使用python的sum函数.

总结第二列的pythonic/functional方法是什么?

python lambda functional-programming sum

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