GVKun编程网logo

计算熊猫数据框中inf的出现(计算熊猫数据框中inf的出现率)

21

对于想了解计算熊猫数据框中inf的出现的读者,本文将提供新的信息,我们将详细介绍计算熊猫数据框中inf的出现率,并且为您提供关于不在熊猫数据框中、从熊猫数据框中填充矩阵、从熊猫数据框中提取单个元素、从

对于想了解计算熊猫数据框中inf的出现的读者,本文将提供新的信息,我们将详细介绍计算熊猫数据框中inf的出现率,并且为您提供关于不在熊猫数据框中、从熊猫数据框中填充矩阵、从熊猫数据框中提取单个元素、从熊猫数据框中获取索引值的有价值信息。

本文目录一览:

计算熊猫数据框中inf的出现(计算熊猫数据框中inf的出现率)

计算熊猫数据框中inf的出现(计算熊猫数据框中inf的出现率)

使用np.isinf()

df = pd.DataFrame({'data' : [0,float('inf'),float('inf')]})


print(df)

   data
0   0.0
1   0.0
2   inf
3   inf


df.groupby(np.isinf(df['data'])).count()

       data
data       
False     2
True      2

不在熊猫数据框中

不在熊猫数据框中

假设 df1 是

   V1      V2      V3
0  aaa     34      67
1  aaa     34    4545
2  bbb     23  342344
3  bbb     56     776
4  ccc    878     754
5  ccc    454      66
6  ddd  78768      46
7  ddd     56     646

df2 是

   V1      V2   V3
0  aaa     34   67
1  ddd  78768   46
2  ddd     56  646

那么没有来自 df2 的行的 df1 由

给出
df =pd.merge(df1,df2,indicator=True,how='outer').query('_merge=="left_only"').drop('_merge',axis=1)

这是

 V1    V2      V3
1  aaa   34    4545
2  bbb   23  342344
3  bbb   56     776
4  ccc  878     754
5  ccc  454      66

从熊猫数据框中填充矩阵

从熊猫数据框中填充矩阵

如何解决从熊猫数据框中填充矩阵?

使用以下 df:

|Research|Thesis|Proposal|AI|Analytics|Data|
| -------|------|-------_|--|---------|----|
| 54     | 0    |0       |0 |5        |  0 |
| 33     | 43   |5       |0 |0        |  81|

我需要为所有可能的列对创建 2*2 矩阵,

eg: (0,1),(0,2),... (0,n)
(1,(1,3),n)                 
(2,(2,4),5),.....(2,n)

用这些列中的值填充它

对于pair(0,1),矩阵应该由第0 列和第1 列的学校1 的单词和第0 列和第1 列的学校2 的单词组成

例如:对于 [Research,Thesis] 或 (0,1) 对,矩阵将是

0 1
54 0
33 43

对于 [Research,2) 对,矩阵将是

0 1
54 0
33 5

并确保每一行和每一列的总和为一个 > 零的值(如果没有,则不包括它们)即对于 2*2 矩阵 m,我们可以检查第一行: if (m[0,0] + m[0,1]) > 0. 需要对第二行以及第一和第二列这样做

我使用了 2 个 for 循环来获取所有可能的对,但我无法创建矩阵并检查所有组合的每一行和列的总和是否大于 0。

data=[[54,6,5,],[33,43,76,81]]
df=pd.DataFrame(data,columns = [''Research'',''Thesis'',''Proposal'',''AI'',''Analytics'',''Data''])
#The 2 loops below create all possible pairs
for i in range(0,len(df.columns)):
        for j in range(i+1,len(df.columns)):
            matrix = np.zeros((2,2))

任何帮助将不胜感激!

编辑 输出应该只是矩阵的集合

解决方法

IIUC,将 itertools.combinations 与运算符结合使用的一种方式:

from itertools import combinations

matrices = [d for c1,c2 in combinations(df.columns,2) 
            if (d:=df[[c1,c2]]).sum(1).gt(0).all()]

输出:

# len(matrices)
[   Research  Thesis
0        54       0
1        33      43,Research  Proposal
0        54         0
1        33         5,Research  AI
0        54   6
1        33   0,Research  Analytics
0        54          5
1        33         76,Research  Data
0        54     0
1        33    81,Thesis  AI
0       0   6
1      43   0,Thesis  Analytics
0       0          5
1      43         76,Proposal  AI
0         0   6
1         5   0,Proposal  Analytics
0         0          5
1         5         76,AI  Analytics
0   6          5
1   0         76,AI  Data
0   6     0
1   0    81,Analytics  Data
0          5     0
1         76    81]

从熊猫数据框中提取单个元素

从熊猫数据框中提取单个元素

其他人建议如何在上面提取特定元素,但是首先要检索文件应该很简单

  import pandas as pd
  df=pd.read_csv("my_csvfilename.csv")

如果您不在同一目录中,则可能需要修改为

  df=pd.read_csv(r"C:\directory\my_csvfilename.csv")

但是显然您需要正确的目录路径(例如C:\ My文件夹\ My子文件夹)

从熊猫数据框中获取索引值

从熊猫数据框中获取索引值

直接调用索引

return countries.index[2]

但是您在此处发布的内容看起来像是一个熊猫数据框,而不是一个系列-如果是这样的话

countries['Country_Name'].iloc[2]
,

这正是我的问题!阅读其他回复有助于我找到这个答案。

正如其他答复者所提到的,表的呈现结构看起来像有一个包含两列的数据框,一列为“ Country_Names”,另一列为值的未命名列,在这种情况下,索引默认为[0,1 ... n]。

但是,示例代码return countries.iloc[2] #7.542建议您进行一系列操作,因为它仅返回标量值,而不返回带有索引和数据类型的key:value对(请参见下文)。

因此,让我们假设您有一个数据框,正如您所说的那样,其中有一列值和“ Country_Names”作为索引。我将在“值”列中添加一个名称,并添加第二个“值”列:

countries = pd.DataFrame({'Country_Names': ['China','United States','Japan','United Kingdom','Russian Federation','Brazil'],'Values1': [1.5,10.53,7.542,3.487,6.565,8.189],'Values2': [1,2,3,4,5,6]}).set_index('Country_Names')
print(countries)

#                     Values1  Values2
# Country_Names                       
# China                 1.500        1
# United States        10.530        2
# Japan                 7.542        3
# United Kingdom        3.487        4
# Russian Federation    6.565        5
# Brazil                8.189        6

顺便说一句,数据框的每一列都是,与它所属的数据框共享一个索引。就是说,您可能只有一列,但仍然是一个数据框,尽管访问第一列会返回一系列数据(见下文)。

数据框和数据系列均具有相同的index属性以及其他属性。

countries.index[2] #The 3rd index of the dataframe:
# 'Japan'

countries['Values1'].index[2] #The 3rd index of the 1st column (which is a series)
# 'Japan'

countries.iloc[2] #The 3rd row of the dataframe.
# Values1    7.542
# Values2    3.000
# Name: Japan,dtype: float64

countries['Values1'].iloc[2] #The 3rd row of the 1st column (which is a series)
# 7.542

现在,如果实际上您只处理一个系列(如代码所示),而不是处理数据框,则看起来像这样:

Country_Names = ['China','Brazil']
countries = pd.Series([1.5,index=Country_Names)
countries

# China                  1.500
# United States         10.530
# Japan                  7.542
# United Kingdom         3.487
# Russian Federation     6.565
# Brazil                 8.189
# dtype: float64

countries.index[2]
# 'Japan'

countries.iloc[2]
# 7.542

不过,我不确定如何构造一个数据对象,该数据对象可以像问题所在的表格一样打印出来。

修改

这是方法。创建一个具有名称的索引,并将该索引赋予系列:

Country_Names = pd.Index(['China',name='Country_Names')
countries_s = pd.Series([1.5,index=Country_Names)
countries_s

# Country_Names
# China                  1.500
# United States         10.530
# Japan                  7.542
# United Kingdom         3.487
# Russian Federation     6.565
# Brazil                 8.189
# dtype: float64

几乎可以肯定您正在制作一个系列。我不确定是否有可能具有未命名列的数据框。

我们今天的关于计算熊猫数据框中inf的出现计算熊猫数据框中inf的出现率的分享已经告一段落,感谢您的关注,如果您想了解更多关于不在熊猫数据框中、从熊猫数据框中填充矩阵、从熊猫数据框中提取单个元素、从熊猫数据框中获取索引值的相关信息,请在本站查询。

本文标签: