dataframe.describe()
对于类似字符串的列具有以下列:
count unique top freq first last
虽然这些肯定是有用的,但了解任何给定列中是否有空值以及有多少空值也是非常重要的。
虽然我可以求助于编写自定义函数来找到它,但这将是一个巨大的额外开销。请注意,有一个相关的问题,但主要关注数字列,因此不直接适用:如何计算DataFrame中列中的NaN值。那么,是否还有另一个助手函数可以提供这些附加信息呢?
下面提供了我在dataframe.describe()
提供的信息中添加nulls
列的初衷的完全实现。感谢@QuangHoang提到了构成这个答案一部分的dataframe.isna。
请注意,我们必须转置description()
的输出。然后将Nulls
预挂在转置的描述()
输出中,并通过set_axis
将列重命名为Nulls
:
df = pd.DataFrame({ 'a': [1,2,3], 'b': ['a','b','c'], 'c': [99.5,11.2, 433.1],
'd':[123,'abc',None]})
desc = df.describe() # Returns a DataFrame with stats in the row index
combo = pd.concat([df.isna().sum(),desc.T],axis=1)
.set_axis(['Nulls']+list(desc.index),axis=1,inplace=False)
您可以尝试:dataframe.info()
如文档中所述,df.info()
提供有关数据帧的信息,包括索引数据类型和列数据类型、非空值和内存使用情况。
根据您存储信息的要求,您可以尝试以下操作:
import io
buffer = io.StringIO()
df.info(buf=buffer)
s = buffer.getvalue()
with open("df_info.txt", "w", encoding="utf-8") as f:
f.write(s)
来源:df.info()文档
要快速浏览每列中的nan
,请执行以下操作:
dataframe.isna().sum()
所以,我一直在用python处理pandas,我从外部系统中提取数据,每列末尾都有很多空格。我想到了在每个系列中使用一个str.strip()方法和一个代码: 它基本上完成了它的工作,但我注意到,当我检查使用数据帧的属性时,我遇到了一个问题,如果在一个值中只有没有任何文本的空格,那么它是空的,但它不会将标量转换为空: 但是,如果字符串为空,则检查条件: 我怎么可能将所有这些转换为空,以便我可以使用
问题内容: 我想获取一列中字符串的频率计数。一方面,这类似于将数据框折叠为仅反映列中的字符串的一组行。我能够通过循环解决此问题,但知道有更好的解决方案。 df示例: 并想出去: 我搜索了很多论坛,但找不到合适的答案。 我假设使用pivot_table方法是正确的方法,但是无法获取正确的参数来折叠没有为输出df提供明显索引的表。 我可以通过使用value_counts()遍历每列并将每个值计数系列附
问题内容: 我想计算一个分组的pandas dataframe列中字符串的出现。 假设我有以下数据框: 首先,我想GROUP BY和。对于这些组中的每一个,我都希望计算该列中的出现次数。 结果应如下所示: 通过两列进行分组很容易: 但是接下来呢? 问题答案: 调用对象的“得分”列,并使用vectorise方法,使用此方法过滤和调用: 要将其分配为列使用,以便聚合返回其索引与原始df对齐的序列:
我怎么能这么做?
本文向大家介绍MongoDB查询如何在字段值中搜索类似“@email”的字符串,包括了MongoDB查询如何在字段值中搜索类似“@email”的字符串的使用技巧和注意事项,需要的朋友参考一下 使用MongoDB find()搜索电子邮件字符串。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是查询@email的查询,例如字符串- 这将产生以
我试图写一个快速的程序,在输入的字符串中计数空格的数量。这是我到目前为止所拥有的: while循环首先使用s.indexOf(“”)查找字符串s中的第一个空格,将其替换为char Z,然后将值SpaceCount加1。此过程重复,直到s.indexOf没有找到空白,导致i为-1,从而停止循环。 换句话说,每次找到空白时,SpaceCount都会增加1,然后向用户显示空白的总数。或者应该是... 问