小编Zak*_*akS的帖子

将元组列表转换为Pandas系列

我有一个元组列表,我想转换为系列.

return array2

[(0, 0.07142857142857142),
  (0, 0.07142857142857142),
  (1, 0.08333333333333333),
  (1, 0.3333333333333333),
  (1, 0.3333333333333333),
  (1, 0.08333333333333333),
  (3, 0.058823529411764705),
  (3, 0.058823529411764705)]
Run Code Online (Sandbox Code Playgroud)

我尝试通过将列表转换为字典然后转换为系列来完成此操作:

 a = pd.Series(dict(array2))
Run Code Online (Sandbox Code Playgroud)

然而,最终的系列并不像我需要的那样表现.它似乎掉落key:value(可能是任意的?)

例如

return a

 0    0.071429
 1    0.083333
 3    0.058824
Run Code Online (Sandbox Code Playgroud)

如何在不丢弃任何键值对的情况下获得系列?

python dictionary tuples series pandas

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

使用 savefig 在 matplotlib.pyplot 中增加每英寸点数 (DPI)

这个答案建议使用 plt.savefig 来增加 DPI。我是一个相对的新手,不知道如何使用 .savefig。

savefig 的调用签名需要 fname 来引用需要更多 DPI 的文件(或对象?):

在此处输入图片说明

在下面的代码中,我应该为 fname 使用什么?我应该创建一个对象然后引用它吗?

#previous code generates two dataframes now converted to two lists...

Max_Vals = DFMAX1.tolist()
Min_Vals = DFMIN1.tolist()

fig = plt.figure()

plt.plot(Max_Vals, 'g-')
plt.plot(Min_Vals, 'b-')

fig.set_size_inches(30.,18.)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

当我在没有 fname 的情况下运行 savefig 时:

plt.savefig(dpi=300)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

在此处输入图片说明

感谢任何帮助。

python matplotlib

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

根据多个条件过滤数据帧索引

pandas.DataFrame.filter中,有一种方法可以使用参数“like”或“regex”,以便它们支持 OR 条件。例如:

df.filter(like='bbi', axis=1) 
Run Code Online (Sandbox Code Playgroud)

将过滤名称中包含的列bbi,但是如何过滤包含'bbi'OR的列'abc'

一些失败的选项:

df.filter(like='bbi' or 'abc', axis=1) 

df.filter(like=('bbi' or 'abc'), axis=1) 
Run Code Online (Sandbox Code Playgroud)

filter pandas

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

如何使用温度符号 - °C - 在 matplotlib 中创建刻度

我有一个带有 y 轴的图表,它表示一年中某些日子的温度。我想将摄氏度放入 y 标签上的实际刻度中。这是我到目前为止使用的代码及其下方的图表。

plt.ylabel('°C',fontsize = 30)
plt.yticks(np.arange(miny,maxy, step=20))
plt.tick_params(labelsize=20)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

以前的答案侧重于 unicode 问题,但我发现 matplotlib 可以将 °C 表示法作为字符串的一部分。我的问题是如何将其放入 y 轴上的刻度中。

有没有办法用tick_params来做到这一点?

感谢您的任何建议。

python matplotlib

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

在这种情况下,为什么 awk 比 python 快得多?

我有一个包含 200,000 行的剪辑列表,每行的形式为

<field 1> <field2>
Run Code Online (Sandbox Code Playgroud)

为了只获取字段 1,我可以运行如下所示的脚本

import os
import sys
jump = open(sys.argv[1],"r")
clips = open("clips.list","w")
text = jump.readlines()
list_of_clips = str()

for line in text: 
     clip_to_add =   line.split(" ")[0]
     list_of_clips = list_of_clips + clip_to_add +'\n' 

with open ('clips.list', 'w') as file:
file.write (list_of_clips)

jump.close()
Run Code Online (Sandbox Code Playgroud)

或者我可以使用awk 'print{($1)}'

为什么 awk 这么快?它在大约 1 秒内完成工作。

python awk

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

标签 统计

python ×4

matplotlib ×2

pandas ×2

awk ×1

dictionary ×1

filter ×1

series ×1

tuples ×1