小编Mar*_*ark的帖子

试图用Python中的Pandas删除逗号和美元符号

请从列中删除逗号和美元符号.但是当我这样做时,桌子将它们打印出来并且仍然存在于那里.有没有不同的方法来使用熊猫功能删除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)

python pandas

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

任何人都可以告诉我为什么我收到错误[AttributeError:'list'对象没有属性'encode']

我一直试图运行此代码,以便将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)

python excel smtp attachment

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

任何人都可以解释这个错误[AttributeError:'DataFrame'对象没有属性'to_numeric']

我正在努力将薪水改为汉堡,这样我就可以做一些分析并制作每个球场的价格图表.当我尝试这样做时,它表示数据框没有属性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)

python pandas

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

如何在Pandas DataFrame中正确使用str.replace()

我有一个像这样的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)

python pandas

2
推荐指数
1
解决办法
82
查看次数

如何在写入文件时格式化JSON数据

我正在尝试获取此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)

python api formatting json request

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

在ubuntu 14.04上使用pip安装quandl时出错

这是我不断得到的错误.我一直在尝试安装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 pip ubuntu-14.04 quandl

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

标签 统计

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