每当我用来imshow()绘制图像时,在成对的底部 x 轴上绘制一维数据会更改使用 for 创建的初始 x 轴的大小和纵横比imshow()。我该如何避免这种行为?以下是重现该问题的方法:
import numpy as np
import matplotlib
matplotlib.use('macosx')
import matplotlib.pyplot as plt
im = np.random.rand(2856, 4290)
light_curve = im[1000, :]
fig = plt.figure(1, figsize=(10,10))
ax1 = plt.subplot(2,1,1)
ax1.imshow(im, cmap='gray', origin='lower')
ax2 = plt.subplot(2,1,2)
ax2.imshow(im, cmap='gray', origin='lower')
# Setting aspect ratio to equal does not help
ax2.set_aspect('equal')
ax21 = ax2.twinx()
ax21.plot(light_curve, alpha=0.7)
# Setting axis limits does not help
ax1.axis([0, im.shape[1], 0, im.shape[0]])
ax21.set_xlim([0, im.shape[1]])
Run Code Online (Sandbox Code Playgroud)
这是我的图形后端的样子(macosx如果有任何相关的话)
上面使用的目的不就是twinx()首先帮助解决这个问题吗?那么,我如何保持初始 …
根据https://towardsdatascience.com/the-best-format-to-save-pandas-data-414dca023e0d的基准测试 ,该基准使用分类列作为字符串,数字列作为浮点数,从 Pandas 数据帧加载时读取速度应该更快。 parquet 文件比 pickle 文件。
我碰巧在以下用例中始终看到相反的情况,其中我只有 1 列具有固定数量字符的字符串,其中所有字符都可以从一行到下一行变化,以下是这些字符串的示例:
./2010/10/12/2010-10-12T02:38:47.09Z_blah0.fixedword1.fixedword2
其中除“fixedword1”和“fixedword2”之外的所有字符都从一行更改为下一行(这些不同的字符是从 2010 年到 2018 年的日期和时间,增量约为 1 秒(增量不是恒定的)。
我在这个数据框中有大约1.3 亿行。
数据框由包含以下字符串的 csv 文件构造而成:
df = pd.read_csv(flist, names=['path_str'], dtype=object)
Run Code Online (Sandbox Code Playgroud)
并保存到 pickle 和 parquet 文件中:
parquet_f = os.path.join(parent_dir, 'df.parquet')
df.to_parquet(parquet_f, engine='pyarrow', compression=None)
pickle_f = os.path.join(parent_dir, 'df.pkl')
df.to_pickle(pickle_f)
Run Code Online (Sandbox Code Playgroud)
为什么我总是得到相反的结果,读取文件的速度比读取 1.3 亿行这些字符串的文件pickle快大约 3 倍?parquet我通过设置相同的行数尝试了上面链接的基准测试,并且parquet仍然始终更快。
我有 Ubuntu 20.04。我的命令行文本编辑器(例如nano或 )pico无法再以用户身份在命令行中运行,我得到
user@hostname:~$ nano
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
sudo nano但是,当我使用 sudo等执行此操作时,事情会起作用sudo pico...我没有这个问题vi
自从上次工作以来,我从 Ubuntu 进行了例行更新,并安装了几个带有conda. 我还编辑了使用 CUDA 工具包运行的张量流的 LD_LIBRARY_PATH:
echo $LD_LIBRARY_PATH:
/usr/local/cuda-11.5/lib64:/usr/local/cuda/extras/CUPTI/lib64:/home/rattie/miniconda3/lib/
[更新] 看起来这个为张量流编辑的 LD_LIBRARY_PATH 是罪魁祸首。我在 conda 基本环境中编辑它,而不是隔离为使用张量流创建的虚拟环境中的更改(例如通过$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh)特别是,删除/home/rattie/miniconda3/lib/修复了问题,尽管我不明白为什么它导致我的命令(例如 nano)需要 sudo 权限。
axis ×1
dataframe ×1
imshow ×1
linux ×1
matplotlib ×1
overlay ×1
pandas ×1
parquet ×1
pickle ×1
plot ×1
sudo ×1
tensorflow ×1
ubuntu-20.04 ×1