我有两个pandas数据框,a并且b:
a1 a2 a3 a4 a5 a6 a7
1 3 4 5 3 4 5
0 2 0 3 0 2 1
2 5 6 5 2 1 2
Run Code Online (Sandbox Code Playgroud)
和
b1 b2 b3 b4 b5 b6 b7
3 5 4 5 1 4 3
0 1 2 3 0 0 2
2 2 1 5 2 6 5
Run Code Online (Sandbox Code Playgroud)
这两个数据框包含完全相同的数据,但顺序不同,列名也不同。根据两个数据框中的数字,我希望能够a将每个列名与b.
这并不像简单地将 的第一行a与第一行进行比较那么容易,b因为存在重复的值,例如两者a4和a7都有值,5 …
我有一个df:
ColA ColB
1 1
2 3
2 2
1 2
1 3
2 1
Run Code Online (Sandbox Code Playgroud)
我想使用两个不同的字典来更改ColB中的值。我想使用d1ColA中的值为1以及d2ColB中的值为2的情况。
d1 = {1:'a',2:'b',3:'c'}
d2 = {1:'d',2:'e',3:'f'}
Run Code Online (Sandbox Code Playgroud)
导致:
ColA ColB
1 a
2 f
2 e
1 b
1 c
2 d
Run Code Online (Sandbox Code Playgroud)
实现此目标的最佳方法是什么?
我正在尝试使用 Gmail 创建一个发送电子邮件的脚本。但是,当运行以下行时,我的代码会冻结:
smtplib.SMTP("smtp.gmail.com", 587)
Run Code Online (Sandbox Code Playgroud)
这是在我输入用户名和密码之前,所以与我的 Gmail 帐户无关。为什么会这样?我正在使用 Python 3.6.3
完整代码如下:
import smtplib
# Specifying the from and to addresses
fromaddr = 'XXX@gmail.com'
toaddrs = 'YYY@gmail.com'
# Writing the message (this message will appear in the email)
msg = 'Enter you message here'
# Gmail Login
username = 'XXX@gmail.com'
password = 'PPP'
# Sending the mail
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Python和Selenium在我的幻想足球队的“预草稿策略”页面中对球员进行重新排序。登录并进入页面是可以的,但是尝试交换播放器会导致一些问题。
到目前为止,我已使用以下代码,但未成功:
import nfl_useful_functions as nfl
from selenium.webdriver import ActionChains
import time
## Login to ESPN
driver = nfl.login2espn()
## Go to draft strategy page
driver.get("http://fantasy.espn.com/football/editdraftstrategy?leagueId=123456")
## Wait 10 seconds
time.sleep(10)
## Choose the player to be dragged (player 1)
draggable = driver.find_element_by_xpath("/html[1]/body[1]/div[1]/div[1]/div[1]/div[1]/div[5]/div[2]/div[1]/div[1]/div[2]/div[2]/div[1]/div[2]/section[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/div[1]/div[2]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/table[1]/tbody[1]/tr[1]")
## Choose the player for player 1 to be dragged onto (and swapped with)
droppable = driver.find_element_by_xpath("/html[1]/body[1]/div[1]/div[1]/div[1]/div[1]/div[5]/div[2]/div[1]/div[1]/div[2]/div[2]/div[1]/div[2]/section[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/div[1]/div[2]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/table[1]/tbody[1]/tr[2]")
## Drag and drop
#Attempt 1
ActionChains(driver).drag_and_drop(draggable, droppable).perform()
#Attempt 2
ActionChains(driver).drag_and_drop_by_offset(draggable, 0, 40).perform()
#Attempt 3
ActionChains(driver).click_and_hold(draggable)\
.move_to_element(droppable)\
.release(draggable)\
.perform()
#Attempt …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用带有 Pythonrequests库的 POST 请求从网站上抓取一些数据。不幸的是,我无法发布该页面的链接,因为您必须登录该网站才能使用它。
我尝试复制的请求的文件扩展名为 .ehtml,这是我希望重新创建的请求有效负载的一部分:
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="session_id"
W0pNKn8AAQEAACD-XkYAAAAJ
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="p_session_id"
W0pMOH8AAQEAABZSUVkAAAAD
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="attach_key"
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="chosen"
0
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="debug"
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="language"
en
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="game_system_id"
NULL
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="collection_detail_id"
NULL
------WebKitFormBoundary8rntuVzldIBHkILv
Content-Disposition: form-data; name="competition_id"
NULL
Run Code Online (Sandbox Code Playgroud)
使用 stackoverflow 上的一些问题的一些帮助,到目前为止我已经设法重新创建它:
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="session_id"
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="p_session_id"
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="attach_key"
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="chosen"
0
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="debug"
--30b11983bde849109a3dc93e139e16d4
Content-Disposition: form-data; name="language"
en …Run Code Online (Sandbox Code Playgroud) 我有一个pandas DataFrame:
I A A2 B B2
1 'dog' 10 'cat' 20
2 'elf' 15 'egg' 45
3 'hat' 80 'bag' 50
Run Code Online (Sandbox Code Playgroud)
然后我将其转换为Bokeh DataTable,但仅包含列I,A和B.
我想为A列和B列中的单元格添加工具提示,并在A2或B2中显示相应的值.所以,例如,如果你在'狗'上面盘旋,工具提示将是10,如果你在'bag'上空盘旋,工具提示将是50.
根据我的理解,还没有一种方法可以使用HoverTool添加工具提示,这可以在散点图等上完成.但是这个答案表明可以采用解决方法,尽管在该示例中工具提示仅显示了值显示在表格中.如何让工具提示显示相应的值?
我有一本字典如下:
d = {("Sam","Scotland","23") : 25,
("Oli","England","23") : 28,
("Ethan","Wales","18") : 19}
Run Code Online (Sandbox Code Playgroud)
我想将它转换成一个如下所示的 Pandas 数据框:
Name Country Age Count
Sam Scotland 23 25
Oli England 23 28
Ethan Wales 18 19
Run Code Online (Sandbox Code Playgroud)
我试着这样做:
df = pd.DataFrame.from_items(d.items(),orient="index",
columns=["Name","Country","Age","Count"])
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
ValueError: The value in each (key, value) pair must be an array, Series, or dict
Run Code Online (Sandbox Code Playgroud)
我很欣赏通过循环遍历元组的每个项目和每个元素是可能的,但是有没有更干净的方法来做到这一点?
玩弄isalpha(),我注意到了一些奇怪的行为。
"a".isalpha()
>>True
"2".isalpha()
>> False
Run Code Online (Sandbox Code Playgroud)
上面的两个语句返回了我期望的结果。但是,现在之前添加波浪号就没有意义了。
~"a".isalpha()
>> -2
~"2".isalpha()
>> -1
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我发现使用not而不是~返回我期望的输出,但我对上述行为感兴趣。
not "a".isalpha()
>> False
not "2".isalpha()
>> True
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装 Tabula for Python,因为它似乎是从 PDF 中提取表格的方法。但是我无法安装它。
我正在使用 Anaconda,并按照 Tabula 的 Anaconda 页面 ( https://anaconda.org/auto/tabula )上的步骤尝试安装它:
conda install -c auto tabula
Run Code Online (Sandbox Code Playgroud)
但我只是收到一条错误消息: 链接在这里
据我所知,我已经添加了“自动”频道,因此应该能够安装它。但我想我一定错过了一些东西。非常感谢任何帮助!
我一直在玩散景,以获得交互式散点图、工具提示和交互式图例等。
目前,我可以使用绘图后面的 Pandas 数据框中列的值来设置点的颜色。但是我想知道是否可以使用数据框中的另一列设置标记类型(菱形、圆形、方形等)?
我很欣赏这意味着您需要一个双重图例,但希望这不会成为太大的问题。
python ×9
pandas ×4
bokeh ×2
python-3.x ×2
anaconda ×1
dataframe ×1
dictionary ×1
installation ×1
isalpha ×1
selenium ×1
smtplib ×1
tooltip ×1