给出以下数据帧:
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)
提前致谢!
给出以下数据框:
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,但我不知道如何.
鉴于以下数据框和必要的争论:
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]
给定以下数据框:
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'结尾。
提前致谢...
给定以下数据框:
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的所有行上COL1是b和COL2不为空。
期望的结果如下:
COL1 COL2 COL3
0 a 0 0
1 b NaN 0
2 b 1 2
Run Code Online (Sandbox Code Playgroud)
提前致谢!
给出以下数据框:
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)
实际上,我有很多行.
提前致谢!
朋友们,
作为一名新手充其量,考虑到论坛中的内容,我无法弄清楚这一点.最终,我想要做的就是获取一些简单的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)
提前致谢!
在以下情况下,我会不断收到该主题的警告:
df.rename(columns = {'one':'one_a'},inplace = True)
df.drop([''','两个','三个'],axis = 1,inplace = True)
我该如何解决?
给定以下数据框:
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) 给定这种格式:
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)
我很确定我没有为“条件”使用正确的条目,但是我不确定该怎么做。
提前致谢!