我想将我的基础环境升级到 Python 3.8。根据官方文档,我应该运行conda install -c anaconda python. 然而,这只会升级 Python 3.7,所以,最后:
(base) C:\Users\bob>conda install -c anaconda python
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
(base) C:\Users\bob>python --version
Python 3.7.6
Run Code Online (Sandbox Code Playgroud)
conda update -c anaconda python 只更新了一些包,而不是 Python 本身。
如果我指定一个版本,就像这里解释的那样,在分析依赖关系两个小时后,升级会因为冲突而失败。
我设法设置了一个 3.8 环境,但我宁愿升级我的基本环境,因为它是我在 Anaconda 之外使用的系统路径。
有什么建议吗?
为了使用tabulate很好地打印数据帧,以便将NaN和NaT打印为空单元格,我已经成功地使用了它:
print(tabulate(df.astype(object).fillna("")))
Run Code Online (Sandbox Code Playgroud)
现在,这会导致以下警告:
FutureWarning:在 .fillna、.ffill、.bfill 上向下转换对象 dtype 数组已被弃用,并将在未来版本中更改。改为调用 result.infer_objects(copy=False) 。
我不知道现在我应该做什么。我当然不知道infer_objects(copy=False)有什么帮助,因为这里的重点确实是强制将所有内容转换为字符串表示形式并用空字符串填充缺失值。
虽然我知道os.access()可以用来检查现有文件是否可以读取或写入,但我想知道是否可以使用类似的方法来查看是否可以创建文件。
在执行多项操作后,我需要在代码中的某个时刻创建一个文件。然而,此时如果文件创建失败(例如,如果我在使用该open()方法时捕获到异常),那将是一种耻辱,因为操作已完成。在尚未创建文件的情况下检查创建文件是否有效会更容易(即名称是否有效?程序是否有权访问该文件夹?...)。
当然,我已经可以在代码中更早地创建并打开该文件,但我认为最好避免它:
我有一个 pandas DataFrame,其列包含以下形式的字符串时间戳:
31 Jan 2020 17:29:37 CET
09 Apr 2021 15:34:53 CEST
将列转换为时间戳会返回警告:
df['timestamp'] = pd.to_datetime(df["timestamp"])
c:\Users\user\Miniconda3\lib\site-packages\dateutil\parser\_parser.py:1213: UnknownTimezoneWarning: tzname CET identified but not understood. Pass `tzinfos` argument in order to correctly return a timezone-aware datetime. In a future version, this will raise an exception.
warnings.warn("tzname {tzname} identified but not understood. "
c:\Users\user\Miniconda3\lib\site-packages\dateutil\parser\_parser.py:1213: UnknownTimezoneWarning: tzname CEST identified but not understood. Pass `tzinfos` argument in order to correctly return a timezone-aware datetime. In a future version, this will raise an exception. …Run Code Online (Sandbox Code Playgroud) 有没有人想过如何在 VS Code 中添加 Jupyter 内核,例如 R 或 Julia?这个问题实际上是在 8 个月前在这里提出的,但从未有过答案。
我正在尝试理解这一点。
我有这个 JSON 文件:
[
{
"id": 1,
"Z": "a",
"C": "z",
"D": "text"
},
{
"id": 2,
"Z": "b",
"C": "y",
"D": "text"
},
{
"id": 3,
"Z": "c",
"C": "x",
"D": "text"
}
]
Run Code Online (Sandbox Code Playgroud)
数据的顺序是有意义的,需要保留,无论是行还是列。我需要将其加载到数据框中。那么,会发生以下情况:
[
{
"id": 1,
"Z": "a",
"C": "z",
"D": "text"
},
{
"id": 2,
"Z": "b",
"C": "y",
"D": "text"
},
{
"id": 3,
"Z": "c",
"C": "x",
"D": "text"
}
]
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,虽然行仍然按正确的顺序排列,但列却按字母顺序排序。如何保持我的栏目顺序(或恢复它)?
谢谢!
在 Python 中输入密码而不回显密码的标准方法是使用 getpass.getpass()。
但是,它不支持剪贴板输入(ctrl-V),而这在处理复杂、高度安全的密码时是必需的。
有没有人想出解决方法(从 crtl-V 静默获取密码)?
谢谢!
R。
我正在构建一个非常基本的函数来将数据框导出到 PDF 表中。在这一点上,只要数据可读,我就不需要任何复杂的格式。在 Internet 上查找其他代码,我几乎要到那里了,只是我看不到如何以粗体显示表格的标题行。
import pandas as pd
from reportlab.platypus import *
from reportlab.lib import colors
from reportlab.lib.pagesizes import A4
def df_to_pdf(data, pdf_file): # data is a DataFrame object
table_data = [data.columns.values.tolist()] + data.values.tolist()
grid = [('GRID', (0,0), (-1,-1), 0.25, colors.black)]
pdf_table = Table(data=table_data, repeatRows=1, style=TableStyle(grid))
doc = SimpleDocTemplate(pdf_file, pagesize=A4)
element = []
element.append(pdf_table)
doc.build(element)
Run Code Online (Sandbox Code Playgroud)
我想要的是第一行中的文本(将在每一页上重复)以粗体显示。我很乐意保持简单的其他任何事情。
谢谢!
R。
我目前正在学习 spaCy,并且有一个关于单词和句子嵌入的练习。句子存储在 pandas DataFrame 列中,并且要求我们根据这些句子的向量训练分类器。
我有一个如下所示的数据框:
+---+---------------------------------------------------+
| | sentence |
+---+---------------------------------------------------+
| 0 | "Whitey on the Moon" is a 1970 spoken word poe... |
+---+---------------------------------------------------+
| 1 | St Anselm's Church is a Roman Catholic church ... |
+---+---------------------------------------------------+
| 2 | Nymphargus grandisonae (common name: giant gla... |
+---+---------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
接下来,我将 NLP 函数应用于这些句子:
+---+---------------------------------------------------+
| | sentence |
+---+---------------------------------------------------+
| 0 | "Whitey on the Moon" is a 1970 spoken word poe... |
+---+---------------------------------------------------+
| 1 | St …Run Code Online (Sandbox Code Playgroud) 作为 Python 程序的一部分,我想合并包含相同结构化数据的 JSON 对象。例如:
{
"responseStatus": "SUCCESS",
"responseDetails": {
"total": 5754,
},
"data": [
{
"id": 1324651
},
{
"id": 5686131
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是将我的section对象的数据数组的内容添加到我的第一个对象的数据数组中。
所以,假设:
thejson1 = json.loads({"responseStatus": "SUCCESS","responseDetails": {"total": 5754,},"data": [{"id": 1324651},{"id": 5686131}]})
thejson2 = json.loads({"responseStatus": "SUCCESS","responseDetails": {"total": 1234,},"data": [{"id": 2165735},{"id": 2133256}]})
Run Code Online (Sandbox Code Playgroud)
我认为执行:
thejson1["data"].append(thejson2["data"])
Run Code Online (Sandbox Code Playgroud)
将 thejson1 扩展为:
{
"responseStatus": "SUCCESS",
"responseDetails": {
"total": 5754,
},
"data": [
{
"id": 1324651
},
{
"id": 5686131
},
{
"id": 2165735
},
{
"id": 2133256
}
]
}
Run Code Online (Sandbox Code Playgroud)
但它所做的是将json2数据作为数组添加到json1的数据数组中:
{ …Run Code Online (Sandbox Code Playgroud) 我正在努力将几个 Berkeley Earth netCDF 文件转换为 CSV 或其他表格格式。我意识到以前曾提出过类似的问题,但我无法应用我遇到的任何解决方案。
例如,这个数据集。
ncdump从 netCDF 实用程序中似乎不会生成实际的 CSV 文件。我找不到任何关于如何执行此操作的说明。pandas数据帧中xarray.to_dataframe(),但我的笔记本无法分配所需的内存。In [1]: import xarray as xr
In [2]: import pandas as pd
In [3]: nc = xr.open_dataset('Complete_TAVG_Daily_EqualArea.nc')
In [4]: nc
Out[4]:
<xarray.Dataset>
Dimensions: (map_points: 5498, time: 50769)
Dimensions without coordinates: map_points, time
Data variables:
longitude (map_points) float32 ...
latitude (map_points) float32 ...
date_number (time) float64 ...
year (time) float64 ...
month (time) float64 ...
day (time) float64 ... …Run Code Online (Sandbox Code Playgroud) 我希望简单 HTML 网页中的标题能够按层次编号。因此我有:
body {
counter-reset: h1counter;
}
h1:before {
content: counter(h1counter) ".\0000a0\0000a0";
counter-increment: h1counter;
counter-reset: h2counter;
}
h2:before {
content: counter(h1counter) "." counter(h2counter) ".\0000a0\0000a0";
counter-increment: h2counter;
}Run Code Online (Sandbox Code Playgroud)
<h1>Section 1</h1>
<h2>Subsection 1</h2>
<h2>Subsection 2</h2>
<h1>Section 2</h1>
<h2>Subsection 1</h2>
<h2>Subsection 2</h2>
<h1>Section 3</h1>
<h2>Subsection 1</h2>
<h2>Subsection 2</h2>Run Code Online (Sandbox Code Playgroud)
但这显示如下:
1. Section 1
1.1. Subsection 1
1.1. Subsection 2
2. Section 2
2.1. Subsection 1
2.1. Subsection 2
Section 3
3.1. Subsection 1
3.1. Subsection 2
Run Code Online (Sandbox Code Playgroud)
显然,第 2 小节 标题的第二个编号数字<h2>应该是 2,但它不会增加(就好像 …