小编ste*_*dv 的帖子

在 Pandas 数据框中用 NaN 替换字符串值 - Python

我必须更换价值吗?使用 NaN 以便您可以调用 .isnull () 方法。我找到了几种解决方案,但总是返回一些错误。认为:

data = pd.DataFrame([[1,?,5],[?,?,4],[?,32.1,1]])
Run Code Online (Sandbox Code Playgroud)

如果我尝试:

pd.data.replace('?', np.nan)
Run Code Online (Sandbox Code Playgroud)

我有:

     0     1  2
0  1.0   NaN  5
1  NaN   NaN  4
2  NaN  32.1  1    
Run Code Online (Sandbox Code Playgroud)

但 data.isnull() 返回:

       0      1      2
0  False  False  False
1  False  False  False
2  False  False  False
Run Code Online (Sandbox Code Playgroud)

为什么?

missing-data dataframe pandas

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

用R加速迭代循环计算

我必须加快我的脚本.我有一些周期,如:

DT <- data.frame(Index=1:20, A=c(10:29))

cost1 <- 3
cost2 <- 0.05
cost3 <- 50

DT$S[1] <- cost1
for (j in 2:(20)) {
  DT$S[j] <- DT$S[j-1]-cost3+DT$S[j-1]*cost2/12
}
Run Code Online (Sandbox Code Playgroud)

其中cost1和cost2是常量.是否可以避免编写循环?

performance for-loop r

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

python - 在列pandas中将float转换为整数

我有一个pandas数据帧:

df3 = pd.DataFrame({
'T': [11.0,22.0,11.23,20.03],
'v2': [11.0,13.0,55.1,33.0],
'v3' : [112.1,2.0,2.1,366.0],
'v4': [np.nan, "blue", 1.0, 2.0]
 })

       T    v2     v3    v4
0  11.00  11.0  112.1   NaN
1  22.00  13.0    2.0  blue
2  11.23  55.1    2.1   1.0
3  20.03  33.0  366.0   2.0
Run Code Online (Sandbox Code Playgroud)

我必须:

    T       v2     v3    v4
0  11     11.0  112.1   NaN
1  22     13.0    2.0  blue
2  11.23  55.1    2.1   1.0
3  20.03  33.0  366.0   2.0
Run Code Online (Sandbox Code Playgroud)

所以我必须只在'T'上将float转换为整数

python floating-point integer dataframe pandas

3
推荐指数
1
解决办法
3264
查看次数

检查日期列是否在日期范围内 - 熊猫

我必须检查日期列是否在一个范围内。特别是我必须检查它是否包含在另一个日期 +/- n 天给出的范围内。假设我的数据框是:

import pandas as pd
d = {
'date1': ['2019-09-11', '2019-09-12', '2019-08-02'], 
'date2': ['2019-10-11', '2019-09-24', '2019-11-11']
}
df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

我必须检查是否 (date2 - 5 days) < date1 < (date2 + 5 days)

python date calculated-columns pandas

3
推荐指数
1
解决办法
6616
查看次数

安装另一个版本的 Numpy

我有 numpy 版本 1.16.1,但我需要安装 1.15.4,因为 pyinstaller 不起作用。我必须卸载当前版本还是可以直接安装 1.15.4 版?

python numpy installation-package

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

OCR 的背景图像清理

通过tesseract-OCR,我试图从以下带有红色背景的图像中提取文本。

在此处输入图片说明

我在提取框 B 和 D 中的文本时遇到问题,因为有垂直线。我怎样才能像这样清理背景:

输入:

在此处输入图片说明

输出:

在此处输入图片说明

一些想法?没有框的图像: 在此处输入图片说明

python ocr image image-processing python-tesseract

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

将xml转换为pandas数据框python

我必须将 xml 文件转换为数据框熊猫。我尝试了很多模式,但结果是一样的:无,无......我错了什么?另一个图书馆更好吗?是否可能是因为我的 XML 格式?xml 文件的类型为:

<Document xmlns="xxx/zzz/yyy">  
 <Header>    
  <DocumentName>GXXXXXXXXXX</DocumentName>    
  <DocumentType>G10</DocumentType>    
  <Version>2.0.0.0</Version>    
  <Created>2018-12-11T09:00:02.987777+00:00</Created>    
  <TargetProcessingDate>2019-02-11</TargetProcessingDate>    
  <Part>      
  <CurrentPage>1</CurrentPage>      
  <TotalPages>1</TotalPages>    
  </Part>  
 </Header> 
 <Body>    
  <Accounts>      
    <Account>        
     <Type>20WE</Type>        
     <OldType>19WE</OldType>        
     <Kids>          
      <Kid>            
       <Name>marc</Name>            
       <BirthDate>2000-02-06</BirthDate>                       
       <Year>19</Year>            
       <Email>marc@xxx.com</Email>                         
      </Kid>           
     </Kids>      
    </Account>
   </Accounts> 
  </Body>  
</Document>  
Run Code Online (Sandbox Code Playgroud)

尝试过的代码之一

import xml.etree.ElementTree as ET
import pandas as pd
class XML2DataFrame:

   def __init__(self, xml_data):
        self.root = ET.XML(xml_data)

    def parse_root(self, root):
        """Return a list of dictionaries from the text and attributes of the
        children under this XML root."""
        return [parse_element(child) for child in root.getchildren()]

    def …
Run Code Online (Sandbox Code Playgroud)

python xml pandas

0
推荐指数
1
解决办法
7043
查看次数

将一列日期从序号转换为标准日期格式-Pandas

我必须将一列日期从整数/日期格式转换为日期格式dmY。例:

import pandas as pd
col1 = [737346, 737346, 737346, 737346, 737059, 737346]
col2 = ['cod1', 'cod2', 'cod3', 'cod4', 'cod1', 'cod2']
dict = {'V1' : col1, 'V2' : col2}   
df = pd.DataFrame.from_dict(dict)

df

       V1    V2
0  737346  cod1
1  737346  cod2
2  737346  cod3
3  737346  cod4
4  737059  cod1
5  737346  cod2
Run Code Online (Sandbox Code Playgroud)

预期:

df
           V1    V2
0  14-10-2019  cod1
1  14-10-2019  cod2
2  14-10-2019  cod3
3  14-10-2019  cod4
4  31-12-2018  cod1
5  14-10-2019  cod2
Run Code Online (Sandbox Code Playgroud)

python integer date calculated-columns pandas

0
推荐指数
1
解决办法
147
查看次数