在Python中,尝试使用循环对列表执行最基本的追加功能:不确定我在这里缺少的内容:
a=[]
for i in range(5):
a=a.append(i)
a
Run Code Online (Sandbox Code Playgroud)
收益:
'NoneType' object has no attribute 'append'
在Jupyter Python中:是否有将单元格输出复制到剪贴板的快捷方式?(即无需手动选择和ctrl-c?)
或者有一个python函数,而不是print将直接在剪贴板中返回其输出,以便以后粘贴它?
我开始使用Spyder编辑位于远程服务器上的代码.我设法连接到我的远程服务器的内核确定.为了能够打开并保存(下载,上传)脚本,我安装了Expandrive,它将服务器映射为我的机器上的外部硬盘驱动器.服务器是Linux,我的本地是Windows.
我认为这应该有效,但我仍然收到错误file not found.
知道为什么吗?
在另一篇文章中:Spyder:如何在本地编辑python脚本并在远程内核上执行它?建议(第二个答案)在%run命令文件中添加一些特定的代码,以便程序理解linux的dirpath语法.
# ----added to remap local dir to remote dir-------
localpath = "Z:\wk"
remotepath = "/mnt/sdb1/wk"
if localpath in filename:
# convert path to linux path
filename = filename.replace(localpath, remotepath)
filename = filename.replace("\\", "/")
# ----- END mod
Run Code Online (Sandbox Code Playgroud)
你认为这会解决我的问题吗?
我可能误解了这个requests.session对象。
headers ={'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.28 Safari/537.36'}
s = requests.Session()
r = s.get('https://www.barchart.com/', headers = headers)
print(r.status_code)
Run Code Online (Sandbox Code Playgroud)
200这工作正常并按预期返回。
但是,以下返回403并显示第一个请求的标头尚未像使用浏览器手动保存一样保存在会话中:
headers ={'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.28 Safari/537.36'}
s = requests.Session()
r = s.get('https://www.barchart.com/', headers = headers)
r = s.get('https://www.barchart.com/futures/quotes/CLQ20')
print(r.status_code)
print(s.headers)
Run Code Online (Sandbox Code Playgroud)
我认为有一种方法可以使用会话对象将 1 个请求复合到另一个请求中的标头、cookie 等...我错了吗?
在以下YouTube视频显示,就可以跳转到使用vim的python的定义。
但是,当我尝试相同的快捷方式(Ctrl-G)时,它不起作用......如何执行相同的“跳转到定义”?
我安装了插件 Ctrl-P 但没有安装绳索。
我有以下时间服务:
start = pd.to_datetime('2016-1-1')
end = pd.to_datetime('2016-1-15')
rng = pd.date_range(start, end, freq='2h')
df = pd.DataFrame({'timestamp': rng, 'values': np.random.randint(0,100,len(rng))})
df = df.set_index(['timestamp'])
Run Code Online (Sandbox Code Playgroud)
我想删除这两个时间戳之间的行:
start_remove = pd.to_datetime('2016-1-4')
end_remove = pd.to_datetime('2016-1-8')
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
在Python中,熊猫:
g = pd.Series(dict(a = 5, b =datetime(2018, 1,1)))
g['datetime'] = pd.Timestamp('2018-01-02')
Run Code Online (Sandbox Code Playgroud)
g 收益:
a 5
b 2018-01-01 00:00:00
datetime 1514851200000000000
dtype: object
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么时间戳在这里转换为其int值,以及如何避免问题并正确地将时间戳附加到系列?
我正在绘制以下图表:
使用以下代码:
fig, ax = plt.subplots(figsize=(20, 3))
mpf.candlestick_ohlc(ax,quotes, width=0.01)
ax.xaxis_date()
ax.xaxis.set_minor_locator(mpl.dates.HourLocator(interval=4) )
ax.xaxis.set_minor_formatter(mpl.dates.DateFormatter('%H:%M'))
plt.xticks(rotation = 90)
plt.grid(True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我还要调整小调:我怎么做?
辅助问题有一种方法可以用一个命令旋转主要和次要刻度吗?
我试图比较2个字符串列表的相似性,并将它们呈现在熊猫数据框中以供检查; 所以我使用1个列表作为索引,另一个作为列列表.然后我想计算它们上的"Levenshtein相似性"(比较两个单词之间的相似性的函数).
我试图通过使用应用映射来实现这一点,它将进入每个单元格,并将单元格索引与单元格列进行比较.但我怎么能这样做?或者可能会有一些更简单的方法?
things = ['car', 'bike', 'sidewalk', 'eatery']
action = ['walking', 'caring', 'biking', 'eating']
matrix = pd.DataFrame(index = things, columns = action)
def lev(x):
x = Levenshtein.distance(x.index, x.column)
matrix.applymap(lev)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我使用以下(下面),但我发现它笨拙和缓慢
matrix = pd.DataFrame(data = [action for i in things], index = things, columns = action)
for i, values in matrix.iterrows():
for j, value in enumerate(values):
matrix.ix[i,j] = Levenshtein.distance(i, value)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用apply来避免iterrows()函数中的迭代器:
但是该pandas方法的文档很少,除了.apply(sq.rt)文档中的the脚之外,我找不到如何使用它的示例。没有关于如何使用参数等的示例。
无论如何,这是我尝试做的一个玩具示例。
以我的理解,它apply实际上与相同iterrows(),即进行迭代(如果axis = 0,则在行上进行迭代)。在每次迭代x中,函数的输入应在行上进行迭代。但是,我不断收到的错误消息证明了这一假设。
grid = np.random.rand(5,2)
df = pd.DataFrame(grid)
def multiply(x):
x[3]=x[0]*x[1]
df = df.apply(multiply, axis=0)
Run Code Online (Sandbox Code Playgroud)
上面的示例返回一个空的df。谁能说明我的误解?