请从列中删除逗号和美元符号.但是当我这样做时,桌子将它们打印出来并且仍然存在于那里.有没有不同的方法来使用熊猫功能删除commans和美元符号.我无法在API Docs中找到任何内容,或者我在错误的地方寻找
import pandas as pd
import pandas_datareader.data as web
players = pd.read_html('http://www.usatoday.com/sports/mlb/salaries/2013/player/p/')
df1 = pd.DataFrame(players[0])
df1.drop(df1.columns[[0,3,4, 5, 6]], axis=1, inplace=True)
df1.columns = ['Player', 'Team', 'Avg_Annual']
df1['Avg_Annual'] = df1['Avg_Annual'].replace(',', '')
print (df1.head(10))
Run Code Online (Sandbox Code Playgroud) 我一直试图运行此代码,以便将excel表格作为电子邮件的附件发送.我可以使用smtplib发送普通电子邮件,但无法使MIMEMultipart工作.我一直得到[AttributeError:'list'对象没有属性'encode']错误
import smtplib, ssl
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
fromaddr = ['Email']
sendto = ['Email']
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = sendto
msg['Subject'] = 'This is cool'
body = "this is the body of the text message"
msg.attach(MIMEText(body, 'plain'))
filename = 'Work.xlsx'
attachment = open('/home/mark/Work.xlsx', 'rb')
part = MIMEBase('application', "octet-stream")
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename= %s' % filename)
msg.attach(part)
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login('email', 'password') …Run Code Online (Sandbox Code Playgroud) 我正在努力将薪水改为汉堡,这样我就可以做一些分析并制作每个球场的价格图表.当我尝试这样做时,它表示数据框没有属性to_numeric.我得到了API DOC的代码,所以我想知道发生了什么.它是DataFrames列表还是其他东西.我应该更改数字标志吗?
import pandas as pd
import pandas_datareader.data as web
players = pd.read_html('http://www.usatoday.com/sports/mlb/salaries/2013/player/p/')
df1 = pd.DataFrame(players[0])
df1.drop(df1.columns[[0,3,4, 5, 6]], axis=1, inplace=True)
df1.columns = ['Player', 'Team', 'Avg_Annual']
#print (df1.head(10))
p2 = pd.read_html('http://www.sportingcharts.com/mlb/stats/pitching-pitch-count-leaders/2013/')
df2 = pd.DataFrame(p2[0])
df2.drop(df2.columns[[0,2, 3]], axis=1, inplace=True)
#print (df2.head(10))
df1.set_index ('Player')
df2.set_index('Player')
df3 = pd.merge(df1, df2, on='Player')
df3.set_index('Player', inplace=True)
df3.columns = ['Team', 'Avg_Annual', 'Pitch_Count']
print (df3.head())
df3.to_numeric(Avg_Annual)
values = (df3.Avg_Annual) - (df3.Pitch_Count)
print (values.head())
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的DataFrame
Year Player
46 Jan. 17, 1971 Chuck Howley
47 Jan. 11, 1970 Len Dawson
48 Jan. 12, 1969 Joe Namath
49 Jan. 14, 1968 Bart Starr
50 Jan. 15, 1967 Bart Starr
Run Code Online (Sandbox Code Playgroud)
而且我只想要这一年来填充df_MVPs['Year'].我目前的方法是
df_MVPs['Year'] = df_MVPs['Year'].str.replace(df_MVPs['Year'][:7], '')
Run Code Online (Sandbox Code Playgroud)
但这会导致错误发生.有没有办法更简单地做到这一点?
编辑: 我希望我的DataFrame看起来像:
Year Player
46 1971 Chuck Howley
47 1970 Len Dawson
48 1969 Joe Namath
49 1968 Bart Starr
50 1967 Bart Starr
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取此api请求,并在将其转储到JSON文件时进行格式化.每当我这样做,它的所有字符串都非常难以阅读.我已经尝试添加缩进但它没有做任何事情.如果需要,我可以提供API密钥.
import json, requests
url = "http://api.openweathermap.org/data/2.5/forecast/city?id=524901&APPID={APIKEY}"
response = requests.get(url)
response.raise_for_status()
with open('weather.json', 'w') as outfile:
json.dump(response.text, outfile, indent=4)
Run Code Online (Sandbox Code Playgroud) 这是我不断得到的错误.我一直在尝试安装quandl modulen并继续遇到同样的错误.我试过调查其他一些问题,但他们没有提供任何好的解决方案.我试着查看错误,但我已经安装了openssl.
Collecting quandl
Downloading Quandl-3.0.1-py2.py3-none-any.whl
Collecting pyOpenSSL (from quandl)
Downloading pyOpenSSL-16.0.0-py2.py3-none-any.whl (45kB)
100% |################################| 51kB 1.9MB/s
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python3.4/dist-packages (from quandl)
Requirement already satisfied (use --upgrade to upgrade): pandas>=0.14 in /usr/local/lib/python3.4/dist-packages (from quandl)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.8 in /usr/local/lib/python3.4/dist-packages (from quandl)
Collecting more-itertools (from quandl)
Downloading more-itertools-2.2.tar.gz
Collecting ndg-httpsclient (from quandl)
Downloading ndg_httpsclient-0.4.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/local/lib/python3.4/dist-packages (from quandl)
Requirement already satisfied …Run Code Online (Sandbox Code Playgroud) python ×6
pandas ×3
api ×1
attachment ×1
excel ×1
formatting ×1
json ×1
pip ×1
quandl ×1
request ×1
smtp ×1
ubuntu-14.04 ×1