小编Ant*_*pov的帖子

有没有办法分离matplotlib图,以便计算可以继续?

在Python解释器中的这些指令之后,获得一个带有绘图的窗口:

from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道如何继续以交互方式探索show()在程序进行进一步计算时创建的图形.

有可能吗?有时计算很长,如果他们在检查中间结果期间继续进行计算会有所帮助.

python plot matplotlib

242
推荐指数
11
解决办法
21万
查看次数

如何将标题行添加到pandas DataFrame中

我正在读一个csv文件pandas.这个csv文件由四列和一些行组成,但没有标题行,我想添加它.我一直在尝试以下方面:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')
Run Code Online (Sandbox Code Playgroud)

但是当我应用代码时,我收到以下错误:

ValueError: Shape of passed values is (1, 1), indices imply (4, 1)
Run Code Online (Sandbox Code Playgroud)

这个错误究竟是什么意思?在python中添加标题行到我的csv文件/ pandas df会是一个干净的方法吗?

python csv header pandas

137
推荐指数
5
解决办法
32万
查看次数

Pythonic /有效的方法从每个Pandas数据帧单元中剥离空格,其中包含类似字符串的对象

我正在将CSV文件读入DataFrame.我需要从所有类似字符串的单元格中删除空格,而在Python 2.7中保留其他单元格不变.

这是我正在做的事情:

def remove_whitespace( x ):
    if isinstance( x, basestring ):
        return x.strip()
    else:
        return x

my_data = my_data.applymap( remove_whitespace )
Run Code Online (Sandbox Code Playgroud)

Pandas有没有比这更好或更惯用的方法呢?

是否有更有效的方式(也许是通过列方式做事)?

我试过寻找一个明确的答案,但是关于这个主题的大多数问题似乎是如何从列名本身中去除空格,或者假设单元格都是字符串.

python dataframe pandas

32
推荐指数
4
解决办法
6万
查看次数

大熊猫获得两列的最小值作为等式的一部分

如何将两个数据帧的最小值作为pandas数据帧方程的一部分引用?我尝试使用min()不起作用的python 函数.对不起,如果这在某处有详细记载,但我无法找到解决此问题的有效方法.我正在寻找类似的东西:

data['eff'] = pd.DataFrame([data['flow_h'], data['flow_c']]).min() *Cp* (data[' Thi'] - data[' Tci'])
Run Code Online (Sandbox Code Playgroud)

我也尝试使用pandas min()功能,这也是行不通的.

min_flow = pd.DataFrame([data['flow_h'], data['flow_c']]).min()

InvalidIndexError: Reindexing only valid with uniquely valued Index objects
Run Code Online (Sandbox Code Playgroud)

我对此错误感到困惑.数据列只是数字和名称,我不确定索引在哪里发挥作用.

In [108]: data['flow_c']
Out[108]: 
0       74.014640
1       74.150579
2       74.014640
3       73.960195
4       74.069046
5       73.960195
6       73.987423
7       73.905710
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

ImportError:没有名为'urllib2'Python 3的模块

下面的代码在Python 2上工作正常但在Python 3上我得到错误:

"ImportError:没有名为'urllib2'的模块"

import urllib2    
peticion = 'I'm XML'
url_test = 'I'm URL'
req = urllib2.Request(url=url_test,
                      data=peticion,
                      headers={'Content-Type': 'application/xml'})
respuesta = urllib2.urlopen(req)
print(respuesta)
print(respuesta.read())
respuesta.open()
Run Code Online (Sandbox Code Playgroud)

请告诉我错误的原因.

谢谢.

python urllib2 python-3.5

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

pandas将一列替换为多个值

在列冒险级别中,我想将Small替换为1,将Medium替换为5,将High替换为15.我尝试:

dfm.replace({'risk':{'Small': '1'}},{'risk':{'Medium': '5'}},{'risk':{'High': '15'}})
Run Code Online (Sandbox Code Playgroud)

但只有媒体被取代了.怎么了 ?

python replace pandas

17
推荐指数
5
解决办法
4万
查看次数

Pandas DataFrame:访问多个项目,不等于,=!

我有以下Pandas DataFrame对象df.这是列出出发日期,预定出发时间和火车公司的列车时刻表.

import pandas as pd
df = 

            Year  Month DayofMonth  DayOfWeek  DepartureTime Train    Origin
Datetime
1988-01-01  1988    1     1         5        1457      BritishRail   Leeds
1988-01-02  1988    1     2         6        1458      DeutscheBahn  Berlin
1988-01-03  1988    1     3         7        1459      SNCF           Lyons
1988-01-02  1988    1     2         6        1501      BritishRail   Ipswich
1988-01-02  1988    1     2         6        1503      NMBS          Brussels
....
Run Code Online (Sandbox Code Playgroud)

现在,让我们说我想在"火车"栏中选择所有项目"DeutscheBahn".

我会用

DB = df[df['Train'] == 'DeutscheBahn']
Run Code Online (Sandbox Code Playgroud)

现在,我如何选择除DeutscheBahn和British Rails以及SNCF之外的所有列车.我怎样才能同时选择不属于这些的项目?

notDB = df[df['Train'] != 'DeutscheBahn']
Run Code Online (Sandbox Code Playgroud)

notSNCF = df[df['Train'] != …
Run Code Online (Sandbox Code Playgroud)

python pandas

17
推荐指数
2
解决办法
4万
查看次数

pandas:在多索引数据帧中转换索引类型

您有一个多索引数据框:

tuples = [('YTA_Q3', 1), ('YTA_Q3', 2), ('YTA_Q3', 3), ('YTA_Q3', 4), ('YTA_Q3', 99), ('YTA_Q3', 96)]
# Index
index = pd.MultiIndex.from_tuples(tuples, names=['Questions', 'Values'])
# Columns
columns = pd.MultiIndex.from_tuples([('YTA_Q3', '@')], names=['Questions', 'Values'])
# Data
data = [29.014949,5.0260590000000001,
  6.6269119999999999,
  1.3565260000000001,
  41.632221999999999,
  21.279499999999999]

df1 = pd.DataFrame(data=data, index=index, columns=columns)
Run Code Online (Sandbox Code Playgroud)

如何将df索引的内部值转换为str?

我的尝试:

df1.index.astype(str) 
Run Code Online (Sandbox Code Playgroud)

返回TypeError

python types multi-index pandas

14
推荐指数
2
解决办法
5688
查看次数

如何从python中的GPS unsegment时间获取当前日期和时间

我有像这样的gps未分段时间:

Tgps = 1092121243.0
Run Code Online (Sandbox Code Playgroud)

而且我想了解那个日期和时间.GPS时间的开始时间是1980年1月6日.Python功能

datetime.utcfromtimestamp 
Run Code Online (Sandbox Code Playgroud)

从1970年1月1日开始可以给出秒数.

我发现以下内容:

from datetime import datetime
GPSfromUTC = (datetime(1980,1,6) - datetime(1970,1,1)).total_seconds()
curDate = datetime.utcfromtimestamp(Tgps + GPSfromUTC) 

Out[83]: datetime.datetime(2014, 8, 15, 7, 0, 43)
Run Code Online (Sandbox Code Playgroud)

我不确定leapseconds是否包含在函数datetime中,或者我应该计算它们并从结果中减去?也可能存在更好的解决这个问题的方法?

python datetime gps

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

numpy.longdouble dtype的timedelta错误

我有时间使用dtype numpy.longdouble,当我试图将这些值与timedelta函数一起使用时,我遇到了错误.但是当我把它转换成numpy.float64一切都很好.有人可以解释一下这种行为吗?

import numpy as np
from datetime import timedelta
t1 = np.array([1000], dtype=np.longdouble)
t2 = np.array([1000], dtype=np.float64)

In [166]: timedelta(seconds=t1[0])
TypeError: unsupported type for timedelta seconds component: numpy.float64

In [167]: timedelta(seconds=t2[0])
Out[167]: datetime.timedelta(0, 1000)

In [168]: timedelta(seconds=t1[0].astype(np.float64))
Out[168]: datetime.timedelta(0, 1000)
Run Code Online (Sandbox Code Playgroud)

当我试图看到变量的dtypes时,它们看起来相似但不相同:

In [172]: t1[0].dtype
Out[172]: dtype('float64')

In [173]: t2[0].dtype
Out[173]: dtype('float64')

In [174]: np.longdouble == np.float64
Out[174]: False

In [175]: t1[0].dtype == t2[0].dtype
Out[175]: True
Run Code Online (Sandbox Code Playgroud)

编辑

奇怪的是,它不适用于np.int32和np.int64:

t3 = np.array([1000], dtype=np.int32)
t4 = np.array([1000], …
Run Code Online (Sandbox Code Playgroud)

python types numpy timedelta python-datetime

9
推荐指数
2
解决办法
5147
查看次数