在Python解释器中的这些指令之后,获得一个带有绘图的窗口:
from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何继续以交互方式探索show()
在程序进行进一步计算时创建的图形.
有可能吗?有时计算很长,如果他们在检查中间结果期间继续进行计算会有所帮助.
我正在读一个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会是一个干净的方法吗?
我正在将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有没有比这更好或更惯用的方法呢?
是否有更有效的方式(也许是通过列方式做事)?
我试过寻找一个明确的答案,但是关于这个主题的大多数问题似乎是如何从列名本身中去除空格,或者假设单元格都是字符串.
如何将两个数据帧的最小值作为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 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)
请告诉我错误的原因.
谢谢.
在列冒险级别中,我想将Small替换为1,将Medium替换为5,将High替换为15.我尝试:
dfm.replace({'risk':{'Small': '1'}},{'risk':{'Medium': '5'}},{'risk':{'High': '15'}})
Run Code Online (Sandbox Code Playgroud)
但只有媒体被取代了.怎么了 ?
我有以下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) 您有一个多索引数据框:
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
我有像这样的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中,或者我应该计算它们并从结果中减去?也可能存在更好的解决这个问题的方法?
我有时间使用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)