我想将2个DataFrame包含到1个csv中。
我的代码运行并打印出2个数据框,但是我想删除D,E.F列第2行中的空白,以便第3行中的信息显示在其标题的正下方。
数据是正确的,所有,只是格式是我在这里的问题。
(如果您运行代码,这非常小文件,这将很有意义)
{{1}}
答案 0 :(得分:1)
您可以将pd.concat
与axis=1
参数一起使用:
import pandas as pd
from bs4 import BeautifulSoup
import csv
import requests
line1=[]
url='https://clinicaltrials.gov/ct2/show/NCT03548207'
r=requests.get(url)
soup=BeautifulSoup(r.content,'html.parser')
content=soup.find_all('div',id='main-content')
for item in content:
title=item.find('h1',class_='tr-h1 ct-sans-serif tr-solo_record').text
sponsor=item.find('div', class_='tr-info-text').text
summary=item.find('div',class_='ct-body3 tr-indent2').text
dict={'Title':title,'Sponsor':sponsor,'Summary':summary}
line1.append(dict)
df=pd.DataFrame(line1)
url2='https://clinicaltrials.gov/ct2/show/NCT03548207'
table1=pd.read_html(url2)[2]
dj=pd.DataFrame(table1)
kk = pd.concat([df, dj], axis=1) # <--- pd.concat
print(kk)
kk.to_csv('data.csv', index=False)
打印:
Title ... Phase
0 A Study of JNJ-68284528, a Chimeric Antigen Re... ... Phase 1 Phase 2
[1 rows x 6 columns]
并保存data.csv
(来自LibreOffice的屏幕截图):
答案 1 :(得分:0)
轮班能解决您的问题吗?
import pandas as pd
df = pd.DataFrame({"a":[0,1,2,3,4,5], 'b':[10, None, 12, 13, 14, 15], 'c':[20, None, 22, 23, 24, 25]})
df.loc[1:,'b':'c']=df.loc[1:,'b':'c'].shift(-1)
print(df)