我有2个pandas Dataframes如下.
DF1:
Security ISIN
ABC I1
DEF I2
JHK I3
LMN I4
OPQ I5
Run Code Online (Sandbox Code Playgroud)
和DF2:
ISIN Value
I2 100
I3 200
I5 300
Run Code Online (Sandbox Code Playgroud)
我想最终得到第三个数据帧,如下所示:
DF3:
Security Value
DEF 100
JHK 200
OPQ 300
Run Code Online (Sandbox Code Playgroud) 我有一个熊猫数据框,希望将其转换为xlsx并附加到电子邮件中。我可以根据前景发送电子邮件(这是我唯一的方式)。我能够将数据帧转换为xlsx并将其保存在驱动器中,然后将其作为附件发送,但我希望直接将其附加,而不必将其保存在驱动器中。请参阅下面的我发送电子邮件的功能:
def email():
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject ="FRANCE SO"
newMail.Body =' '
newMail.To = "email adress"
newMail.Attachments.Add(attachment)
newMail.Send()
return
Run Code Online (Sandbox Code Playgroud)
附件是已转换为xlsx的数据框
我有2个数据帧,每个数据帧有2列(相同的列名).我想垂直合并它们以最终拥有一个新的数据帧.
做的时候
newdf = df.merge(df1,how='left',on=['Col1','Col2'])
Run Code Online (Sandbox Code Playgroud)
新的df只有来自的行df和没有来自的行df1.这可能发生的原因是什么?
Col1 Col2
asd 1232
cac 2324
.....
Run Code Online (Sandbox Code Playgroud)
而且df1是:
Col1 Col2
afaf 1213
asas 4353
Run Code Online (Sandbox Code Playgroud)
新数据框newdf应该是:
Col1 Col2
asd 1232
cac 2324
afaf 1213
asas 4353
Run Code Online (Sandbox Code Playgroud) 在阅读并过滤excel文件后,我最终得到了一个看起来像这样的pandas数据框.
Col1 Col2
afaf abc 1
1512
asda cdd 2
adsd
Run Code Online (Sandbox Code Playgroud)
我想结束
Col1 Col2
afaf abc1
asda cdd2
Run Code Online (Sandbox Code Playgroud)
我试过df['Col2'].replace('',np.nan,inplace=True)并做了dropna之后但没有任何东西被替换,所以我认为它无法替换因为column2在那些空行中有多个空格.
我忘了提到我不能使用strip,因为Col2字符串有空格我需要保持不变.
有任何想法吗?