我正在尝试.xlsx用熊猫阅读,但得到以下错误:
data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)
Traceback (most recent call last):
File "/Users/Vineeth/PycharmProjects/DataAnalysis1/try1.py", line 9, in <module>
data = pd.read_excel(low_memory=False, io="DataAnalysis1/temp1.xlsx").fillna(value=0)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/util/_decorators.py", line 118, in wrapper
return func(*args, **kwargs)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 230, in read_excel
io = ExcelFile(io, engine=engine)
File "/Users/Vineeth/venv/lib/python2.7/site-packages/pandas/io/excel.py", line 263, in __init__
raise ImportError(err_msg)
ImportError: Install xlrd >= 0.9.0 for Excel support
Run Code Online (Sandbox Code Playgroud)
我也试过了
data = pd.read_excel("DataAnalysis1/temp1.xlsx", low_memory=False).fillna(value=0)
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的错误.
背景:我正在尝试提取带有多个工作表的excel文件作为数据帧的字典.我安装了xlrd版本0.9.0和最新版本(1.1.0),但我仍然得到相同的错误.谢谢!
我在我的ubuntu 14.04 64位系统上按照Ubuntu上安装MongoDB Community Edition中的命令安装了MongoDB 3.0.1 ,我安装了Robomongo接口来使用它.
当我尝试使用Robomongo连接MongoDB时,我收到授权失败的错误.我发现添加对SCRAM-SHA-1身份验证(MongoDB 3.0+)的支持,这解释了Robomongo 0.8.5不完全支持MongoDB 3.0.X.
作为回应,我想删除MongoDB 3.0.1并安装MongoDB 2.2.
我尝试了以下命令:
apt-get remove --purge mongodb
Run Code Online (Sandbox Code Playgroud)
并且
apt-get autoremove --purge mongodb
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都收到以下错误:
"无法打开锁定文件/ var/lib/dpkg/lock - open(13:权限被拒绝)E:无法锁定管理目录(/ var/lib/dpkg /),你是root用户吗?"
任何帮助,将不胜感激.
有没有办法用于sklearn.model_selection.train_test_split保留训练集中特定列的所有唯一值.
让我举一个例子.我所知道的最常见的矩阵分解问题是在Netflix Challenge或Movielens数据集中预测用户的电影评级.现在这个问题并不是真正围绕任何单一的矩阵分解方法,但在可能性范围内,有一个组只能对已知的用户和项目组合进行预测.
因此,在Movielens 100k中,我们有943个独特用户和1682个独特电影.如果我们train_test_split甚至使用高train_size比率(比如0.9),那么独特用户和电影的数量就不一样了.这提出了一个问题,因为我提到的一组方法无法为电影或未经过培训的用户预测0.这是我的意思的一个例子.
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
ml = pd.read_csv('ml-100k/u.data', sep='\t', names=['User_id', 'Item_id', 'Rating', 'ts'])
ml.head()
User_id Item_id Rating ts
0 196 242 3 881250949
1 186 302 3 891717742
2 22 377 1 878887116
3 244 51 2 880606923
4 166 346 1 886397596
ml.User_id.unique().size
943
ml.Item_id.unique().size
1682
utrain, utest, itrain, itest, rtrain, rtest = train_test_split(ml, train_size=0.9)
np.unique(utrain).size
943 …Run Code Online (Sandbox Code Playgroud) 通常,我们使用命令激活conda环境:
source activate env_name
Run Code Online (Sandbox Code Playgroud)
但是,有可能用它的完整路径激活conda环境吗?例如:
source (fullpath)/bin/activate
Run Code Online (Sandbox Code Playgroud)
当我这样做时,它会激活anaconda的默认环境,即根环境.
这可能是一个愚蠢的问题,但我还没有在熊猫文档或其他地方找到答案.在此之前已经提出了同样的问题.但唯一的答案是看看大熊猫文档,正如我所说的那样,没有提供这个问题的答案.
我希望能够构建一个包含多个数据集的hdf文件.一旦关闭了这个hdf,我希望能够列出其中包含的每个数据集.例如:
import pandas as pd
import numpy as np
store = pd.HDFStore('test.h5')
df1 = pd.DataFrame(np.random.randn(10,2), columns=list('AB')
df2 = pd.DataFrame(np.random.randn(10,2), columns=list('AB')
store['df1'] = df1
store['df2'] = df2
print(store)
Run Code Online (Sandbox Code Playgroud)
返回:
<class 'pandas.io.pytables.HDFStore'>
File path: test.h5
/df1 frame (shape->[10,2])
/df2 frame (shape->[10,2])
Run Code Online (Sandbox Code Playgroud)
但是,如果您关闭hdf store.close()然后尝试使用pd.read_hdf()以下错误返回它:
ValueError: key must be provided when HDF contains multiple datasets.
Run Code Online (Sandbox Code Playgroud)
有没有办法返回所有这些数据集的列表?
在此先感谢您的帮助!
我有一个带有索引列=的pandas DataFrame date.
输入:
value
date
1986-01-31 22.93
1986-02-28 15.46
Run Code Online (Sandbox Code Playgroud)
我想把日期定在那个月的第一天
输出:
value
date
1986-01-01 22.93
1986-02-01 15.46
Run Code Online (Sandbox Code Playgroud)
我尝试了什么:
df.index.floor('M')
ValueError: <MonthEnd> is a non-fixed frequency
Run Code Online (Sandbox Code Playgroud)
这可能是因为df是由
df = df.resample("M").sum()(此代码的输出是问题开头的输入)生成的
我也试过了df = df.resample("M", convention='start').sum().但是,它不起作用.
我知道在R中,很容易打电话floor(date, 'M').
我正在尝试使用"链接时"功能.换句话说,我想获得两个以上的输出.
我尝试在Excel中使用连接IF函数的相同逻辑:
df.withColumn("device_id", when(col("device")=="desktop",1)).otherwise(when(col("device")=="mobile",2)).otherwise(null))
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为我无法将元组放入"其他"功能.
当用于os.getenv检索环境变量时,默认行为返回Optional[str]. 这是有问题的,因为使用这些变量的任何下游方法/函数都可能被定义为str显式接受类型。是否有可接受的用法来解决此问题或强制执行str返回类型?
getenv在in typeshed的存根文件定义中,您可以发现它的getenv返回类型可以为Optional[str]或 ,Union[str, T_]具体取决于 kwarg 的使用default。
目前我能看到的四个选项是:
Optional[str]类型作为参数。这感觉不太正确,因为函数/方法的结构可能不符合类型的Optional意义。即该操作没有理由将特定参数设为None。defaultkwarg forgetenv并提供str默认值。这似乎更正确,但要求为每次使用设置一个默认值getenv。我能看到的唯一问题是这样做可能会混淆不同环境中的测试或使用。getenvstr。我真的不喜欢这个,因为它期望环境始终被正确配置,根据我的经验,这不是一个好的假设。下面是一个引发 mypy 错误的示例。
import os
SOME_VAR = os.getenv("SOME_VAR")
def some_func(val: str) -> None:
print(f"Loaded env var: {val}")
some_func(SOME_VAR)
Run Code Online (Sandbox Code Playgroud)
上面引发了 mypy 错误:
错误:“some_func”的参数 1 具有不兼容的类型“Optional[str]”;预期“str”
我正在尝试调整示例重新训练脚本(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py)以使用Inception V4模型.
该脚本已经支持重新启动Inception V3(2015)以及不同版本的Mobilenet.
到目前为止我做了什么:由于脚本使用protobuf(.pb)文件而不是检查点(.ckpt),我inception_v4.pb从这里下载了:https://deepdetect.com/models/tf/inception_v4.pb .据我所知,还可以加载检查点并使用冻结图工具获取相同的文件.
然后,我使用tensorflow python工具查看了tensorboard中的图形,该工具import_pb_to_tensorboard.py可以在tensorflow github存储库中找到.从那里(纠正我,如果我没看错),我发现,resized_input_tensor_name被称为InputImage,而bottleneck_tensor_name为InceptionV4/Logits/Logits/MatMul与bottleneck_tensor_size是1001.
有了这些信息,我尝试create_model_info(architecture)通过添加以下内容来调整重新训练脚本的功能:
elif architecture == 'inception_v4':
data_url = 'http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz' #this won't make any difference
bottleneck_tensor_name = 'InceptionV4/Logits/Logits/MatMul'
bottleneck_tensor_size = 1001
input_width = 299
input_height = 299
input_depth = 3
resized_input_tensor_name = 'InputImage'
model_file_name = 'inception_v4.pb'
input_mean = 128
input_std = 128
我使用以下命令运行脚本:
python retrain.py --architecture=inception_v4 --bottleneck_dir=test2/bottlenecks --model_dir=inception_v4 --summaries_dir=test2/summaries/basic --output_graph=test2/graph_flowers.pb --output_labels=test2/labels_flowers.txt …
我试图找出一种方法来为网站上的每个用户存储推荐,以便在用户登录时可以收集一次推荐,并且在用户对新内容进行评分之前不需要更新。
我认为这样做的一个好方法是将推荐存储在 User 类中,但是当我稍后尝试访问此属性时,这些值似乎不再存在。为了使这个问题更加复杂,我发现从查看current_user地址更改。
示例用户类:
class User(UserMixin):
def __init__(self, user_doc):
self.username = user_doc['Username']
self.userid = user_doc['User Id']
self.recommendations = []
def get_recs(self):
self.recommendations = app.config['MODEL'].predict_all(self.userid)
Run Code Online (Sandbox Code Playgroud)
示例views.py:
@APP.route('/', methods=['GET'])
def index():
"""Render the homepage."""
if current_user.is_authenticated:
if current_user.recommendations == []:
current_user.get_recs()
return render_template('index.html')
@APP.route('/recommend', methods=['POST', 'GET'])
@login_required
def recommend():
recs = get_recommendations(current_user)
return render_template('recommend.html', recs=recs[:10])
Run Code Online (Sandbox Code Playgroud)
如果我登录并浏览主页,current_user.recommendations就会按预期填写。但是,如果我然后导航到/recommend并放置一个断点,然后recs = get_recommendations(current_user)我发现它又current_user.recommendations是一个空列表。这是预期的行为current_user吗?如果是这样,存储用户属性以防止重复计算的正确方法是什么。
在此先感谢您的帮助。
显然我没有足够彻底地解释我的问题,它似乎类似于How to user g user global in flask …
python ×9
pandas ×4
numpy ×2
anaconda ×1
apache-spark ×1
conda ×1
date ×1
excel ×1
flask ×1
flask-login ×1
hdf ×1
mongodb ×1
mypy ×1
pyspark ×1
pyspark-sql ×1
python-2.7 ×1
python-3.x ×1
robo3t ×1
scikit-learn ×1
tensorflow ×1
ubuntu ×1