小编Dan*_*rty的帖子

如果不是空,Pandas使用值,否则使用下一列的值

给出以下数据帧:

import pandas as pd
df = pd.DataFrame({'COL1': ['A', np.nan,'A'], 
                   'COL2' : [np.nan,'A','A']})
df
    COL1    COL2
0    A      NaN
1    NaN    A
2    A      A
Run Code Online (Sandbox Code Playgroud)

我想创建一个列('COL3'),它使用每行COL1的值,除非该值为null(或NaN).如果值为null(或NaN),我希望它使用COL2中的值.

期望的结果是:

    COL1    COL2   COL3
0    A      NaN    A
1    NaN    A      A
2    A      A      A
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python-3.x pandas

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

Pandas从字符串中提取数字

给出以下数据框:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })
df

    A
0   1a
1   NaN
2   10a
3   100b
4   0b
Run Code Online (Sandbox Code Playgroud)

我想从每个单元格中提取数字(它们存在的位置).期望的结果是:

    A
0   1
1   NaN
2   10
3   100
4   0
Run Code Online (Sandbox Code Playgroud)

我知道它可以完成str.extract,但我不知道如何.

python string python-3.x pandas

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

Pandas 将时间戳列转换为日期时间

鉴于以下数据框和必要的争论:

import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
        'dates':['2015-08-31 00:00:00','2015-08-24 00:00:00','2015-08-25 00:00:00']})
df.dates=df.dates.astype(str)
df['dates'] = pd.to_datetime(df.dates.str.split(',\s*').str[0])
set(df['dates'])
Run Code Online (Sandbox Code Playgroud)

我最终得到:

{Timestamp('2015-08-24 00:00:00'),
 Timestamp('2015-08-25 00:00:00'),
 Timestamp('2015-08-31 00:00:00')}
Run Code Online (Sandbox Code Playgroud)

我需要将时间戳转换回日期时间(实际上,只是日期)格式。

我已经根据这篇文章的答案尝试过这个:

df['dates'].to_pydatetime()
Run Code Online (Sandbox Code Playgroud)

但这会返回:

AttributeError: 'Series' object has no attribute 'to_pydatetime'
Run Code Online (Sandbox Code Playgroud)

在我的真实数据中,数据类型是: <M8[ns]

datetime timestamp python-3.x

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

熊猫将混合类型转换为字符串

给定以下数据框:

DF = pd.DataFrame({'COL1': ['A', 'B', 'C', 'D','D','D'], 
'mixed': [2016.0, 2017.0, 'sweatervest', 20, 209, 21]})
DF

    COL1    mixed
0   A       2016.0
1   B       2017.0
2   C       sweatervest
3   D       20
4   D       209 
5   D       21
Run Code Online (Sandbox Code Playgroud)

我想将“ mixed”转换为对象,以便所有数字都是整数(字符串),而所有字符串当然都是字符串。所需的输出如下:

    COL1    mixed
0   A       2016
1   B       2017
2   C       sweatervest
3   D       20
4   D       209 
5   D       21
Run Code Online (Sandbox Code Playgroud)

背景信息:

最初,“混合”是从主要由数字组成的CSV数据帧的一部分,到处都有一些字符串。当我尝试将其转换为字符串时,某些数字最后以'.0'结尾。

提前致谢...

python types pandas

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

熊猫根据行中其他单元格的值为单元格赋值

给定以下数据框:

import pandas as pd
import numpy as np
DF = pd.DataFrame({'COL1': ['a','b','b'], 
                   'COL2' : [0,np.nan,1],})

DF

    COL1    COL2
0    a        0      
1    b       NaN     
2    b        1      
Run Code Online (Sandbox Code Playgroud)

我希望能够指定一个新列COL3具有的价值2的所有行上COL1bCOL2不为空。

期望的结果如下:

    COL1    COL2    COL3
0    a        0      0
1    b       NaN     0
2    b        1      2
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python dataframe python-3.x pandas

5
推荐指数
2
解决办法
3117
查看次数

Pandas插入备用空行

给出以下数据框:

import pandas as pd
import numpy as np
df1=pd.DataFrame({'A':['a','b','c','d'],
                 'B':['d',np.nan,'c','f']})
df1
    A   B
0   a   d
1   b   NaN
2   c   c
3   d   f
Run Code Online (Sandbox Code Playgroud)

我想在每行之前插入空行.期望的结果是:

    A   B
0   NaN NaN
1   a   d
2   NaN NaN
3   b   NaN
4   NaN NaN
5   c   c
6   NaN NaN
7   d   f
Run Code Online (Sandbox Code Playgroud)

实际上,我有很多行.

提前致谢!

numpy python-3.x pandas

5
推荐指数
2
解决办法
2458
查看次数

Python 3.4 lxml.etree:期望开始标记,'<'未找到,第1行,第1列

朋友们,

作为一名新手充其量,考虑到论坛中的内容,我无法弄清楚这一点.最终,我想要做的就是获取一些简单的xml文件,并将它们全部转换为CSV(尽管这段代码一次只能用于一个).在我看来,没有官方名称空间,但我不确定.我有这个代码(我使用了一个标题,'SubmittingSystemVendor',但我真的想把它们全部写成CSV:

import csv
import lxml.etree
x = r'C:\Users\...\jh944.xml'

with open('output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerow('SubmittingSystemVendor')
    root = lxml.etree.fromstring(x)

    writer.writerow(row)
Run Code Online (Sandbox Code Playgroud)

以下是XML文件的示例:

<?xml version="1.0" encoding="utf-8"?>
<EOYGeneralCollectionGroup SchemaVersionMajor="2014-2015" SchemaVersionMinor="1" CollectionId="157" SubmittingSystemName="MISTAR" SubmittingSystemVendor="WayneRESA" SubmittingSystemVersion="2014" xsi:noNamespaceSchemaLocation="http://cepi.state.mi.us/msdsxml/EOYGeneralCollection2014-20151.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <EOYGeneralCollection>
        <SubmittingEntity>
            <SubmittingEntityTypeCode>D</SubmittingEntityTypeCode>
            <SubmittingEntityCode>82730</SubmittingEntityCode>
        </SubmittingEntity>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python xml csv lxml

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

Pandas SettingWithCopyWarning:试图在DataFrame的切片副本上设置一个值

在以下情况下,我会不断收到该主题的警告:

  1. df.rename(columns = {'one':'one_a'},inplace = True)

  2. df.drop([''','两个','三个'],axis = 1,inplace = True)

我该如何解决?

pandas

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

Pandas:计算列上组的中位数

给定以下数据框:

import pandas as pd

df = pd.DataFrame({'COL1': ['A', 'A','A','A','B','B'], 
                   'COL2' : ['AA','AA','BB','BB','BB','BB'],
                   'COL3' : [2,3,4,5,4,2],
                   'COL4' : [0,1,2,3,4,2]})
df
    COL1    COL2    COL3    COL4
0    A       AA      2       0
1    A       AA      3       1
2    A       BB      4       2
3    A       BB      5       3
4    B       BB      4       4
5    B       BB      2       2
Run Code Online (Sandbox Code Playgroud)

我想尽可能有效地(即通过 groupby 和 lambda x 或更好)为第 1 和第 2 列的每个不同组找到第 3 和第 4 列的中值。

期望的结果如下:

    COL1    COL2    COL3    COL4  MEDIAN
0    A       AA      2       0    1.5 …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas

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

Xlsx Writer Critera如果为空

给定这种格式:

format0 = workbook.add_format({'bg_color': 'none'})
Run Code Online (Sandbox Code Playgroud)

如果单元格为空白,我想应用它(无背景色)。到目前为止,这是我尝试过的方法:

worksheet.conditional_format('B2:B14', 
{'type':'cell', 
'criteria': '=isblank()=True', 
'format': format0
})
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误:

KeyError: 'value'
Run Code Online (Sandbox Code Playgroud)

我很确定我没有为“条件”使用正确的条目,但是我不确定该怎么做。

提前致谢!

python-3.x xlsxwriter

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

标签 统计

pandas ×7

python-3.x ×7

python ×4

csv ×1

dataframe ×1

datetime ×1

lxml ×1

numpy ×1

string ×1

timestamp ×1

types ×1

xlsxwriter ×1

xml ×1