我有reweightTarget以下内容,我想将其转换为pandas Dataframe.但是,我得到以下错误:
TypeError:必须使用某种集合调用Index(...),传递't'
如果我删除columns='t',它工作正常.任何人都可以解释一下发生了什么?
reweightTarget
Trading dates
2004-01-31 4.35
2004-02-29 4.46
2004-03-31 4.44
2004-04-30 4.39
2004-05-31 4.50
2004-06-30 4.53
2004-07-31 4.63
2004-08-31 4.58
dtype: float64
pd.DataFrame(reweightTarget, columns='t')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-334-bf438351aaf2> in <module>()
----> 1 pd.DataFrame(reweightTarget, columns='t')
C:\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
253 else:
254 mgr = self._init_ndarray(data, index, columns, dtype=dtype,
--> 255 copy=copy)
256 elif isinstance(data, (list, types.GeneratorType)):
257 if isinstance(data, types.GeneratorType):
C:\Anaconda3\lib\site-packages\pandas\core\frame.py in _init_ndarray(self, values, index, columns, …Run Code Online (Sandbox Code Playgroud) 我的问题更多的是理论性而非实际性,我找到了更多的答案来解释我们如何在通话中使用列表,而不是为什么subprocess.Popen。
例如众所周知:
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> cmd = subprocess.Popen(["python", "-V"], stdout=subprocess.PIPE)
Python 2.7.10
Run Code Online (Sandbox Code Playgroud)
然后我在UNIX上乱搞,发现了一些有趣的东西:
mvarge@ubuntu:~$ strace -f python -V 2>&1
execve("/usr/bin/python", ["python", "-V"], [/* 29 vars */]) = 0
Run Code Online (Sandbox Code Playgroud)
可能两者execve和使用的列表模型subprocess都有某种相关性,但是任何人都可以对此给出一个很好的解释吗?
提前致谢。
我正在尝试将.py文件传递给ipython笔记本环境.我之前从未直接与argparse打过交道.我该如何重写这个main()功能?
我试图删除该行def main():并保留其余代码.
但是args = parser.parse_args()"返回了一个错误:
ipykernel_launcher.py:错误:无法识别的参数:-f.
当我跑.%tb: 显示这个
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default='data/tinyshakespeare',
help='data directory containing input.txt')
parser.add_argument('--input_encoding', type=str, default=None,
help='character encoding of input.txt, from https://docs.python.org/3/library/codecs.html#standard-encodings')
parser.add_argument('--log_dir', type=str, default='logs',
help='directory containing tensorboard logs')
parser.add_argument('--save_dir', type=str, default='save',
help='directory to store checkpointed models')
parser.add_argument('--rnn_size', type=int, default=256,
help='size of RNN hidden state')
parser.add_argument('--num_layers', type=int, default=2,
help='number of layers in the RNN')
parser.add_argument('--model', type=str, default='lstm',
help='rnn, gru, or lstm')
parser.add_argument('--batch_size', type=int, default=50, …Run Code Online (Sandbox Code Playgroud) 我正在开发一个接收一些参数的程序,并且想要使它们中的一些成为必需,但我正在介入一些问题:
这是我做的:
def usage():
parser = OptionParser()
parser.add_option('-i', '--item', dest='item')
parser.add_option('-m', '--monitor', dest='monitor')
parser.add_option('-s', '--service', dest='service')
parser.add_option('-u', '--status', dest='status')
parser.add_option('-a', '--match', dest='match')
parser.add_option('-v', '--value', dest='value')
parser.add_option('-o', '--hostname', dest='hostname', default='')
parser.add_option('-t', '--test', action='store_true', dest='test')
parser.add_option('-U', '--url', dest='URL', default='')
parser.add_option('--verbose', action='store_true', dest='verbose')
(options, args) = parser.parse_args()
if not options.item or not options.monitor or not options.service or \
not options.status or not options.match or \
not options.value:
parser.print_help()
sys.exit(-1)
return options
Run Code Online (Sandbox Code Playgroud)
我想这没关系,但我真的不认为这是Pythonic.有没有更好的方法来进行这种条件检查?
干杯,
干杯,
我正在研究一段代码而且我正在努力为我的问题找到最好的,更加pythonic和CPU低成本的解决方案.
我实际上有一个"索引值"数组,我通过文件读取,例如:
>>> list = ['index_1 200', 'index_2 500', 'index_3 50']
>>>
>>> list
['index_1 200', 'index_2 500', 'index_3 50']
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建字典理解,我将索引名称保存为a string但将值转换为int.我发现实现这一目标的方式是:
>>> dict((line.split()[0], int(line.split()[1])) for line in list)
{'index_2': 500, 'index_3': 50, 'index_1': 200}
Run Code Online (Sandbox Code Playgroud)
但是这(line.split()[0], int(line.split()[1])部分看起来像是可以用更好的方式完成的,因为我的列表示例实际上只是一个例子,我可能会在后面找到大量的索引.
谢谢你的帮助.