- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试完成 coursera 类(class)的作业,但很难让我的代码的某个方面正常工作。
我正在使用 foursquare API 来探索波特兰的社区,并查找哪些社区有书店(和类似的场所)。我即将执行它,但我一直标记上述 ValueError,并且不知道如何重组我的 DF 以使其具有正确的形状。
这是我的代码:
def getNearbyVenues(names, latitudes, longitudes, limit=500):
venues_list=[]
for name, lat, lng in zip(names, latitudes, longitudes):
print(name)
url = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&ll={},{}&v={}&query={}&radius={}&limit={}'.format(
CLIENT_ID,
CLIENT_SECRET,
VERSION,
lat,
lng,
query,
radius,
LIMIT)
try:
results = requests.get(url, "none").json()['response']['groups'][0]['items']
venues_list.extend([(
name,
lat,
lng,
v['venue']['name'],
v['venue']['location']['lat'],
v['venue']['location']['lng'],
v['venue']['categories'][0]['name']) for v in results])
except KeyError:
venues_list.extend([
name,
lat,
lng])
nearby_venues = pd.DataFrame(venues_list, columns = ['Neighborhood',
'Neighborhood Latitude',
'Neighborhood Longitude',
'Venue',
'Venue Latitude',
'Venue Longitude',
'Venue Category'])
return(nearby_venues)
*** NEXT CELL***
PDX_venues = getNearbyVenues(names=PDX_NeighDF['Neighborhood'],
latitudes=PDX_NeighDF['Latitude'],
longitudes=PDX_NeighDF['Longitude']
)
PDX_venues.head()
我从类(class)中之前的实验中获取了原始函数,所以我知道它应该可以工作。第一个单元格实际上执行得很好,但是 ValueError 在我尝试使用定义的函数的下一个单元格中被标记。这让我认为问题一定出在函数本身。我必须根据我的独特作业对其进行一些修改,因此这可能是问题的一部分。以下是我在基本输入之外对函数所做的更改:
波特兰的一些社区没有在我的 API 请求中返回的任何 field ,并且标记了“KeyError”,因为它们在返回的 json 中没有“group”部分,因此我必须添加“try/except"行来排除没有返回 field 的社区。当我第一次运行它并允许单元格执行时,这工作得很好。但是,在下一个单元格中使用该函数会导致“ValueError”标记。
根据 stackoverflow 帖子中另一位用户的建议(该帖子与我有类似问题),我尝试通过将venues_list.append 更改为 .extend 来修复下一个单元格中的 ValueError。似乎没有多大帮助,因为我仍然收到 ValueError,但在它被标记为具有 1 个元素而不是 7 个元素之前(相同的问题,不同的形式)。
任何帮助将不胜感激,这是一个困难的项目,我能够利用自己的资源取得很大的进展,但这个问题完全困扰了我。预先感谢您!
此外,这里是完整的 ValueError 回溯:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/managers.py in create_block_manager_from_blocks(blocks, axes)
1677 blocks = [
-> 1678 make_block(values=blocks[0], placement=slice(0, len(axes[0])))
1679 ]
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/blocks.py in make_block(values, placement, klass, ndim, dtype, fastpath)
3283
-> 3284 return klass(values, ndim=ndim, placement=placement)
3285
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/blocks.py in __init__(self, values, placement, ndim)
2791
-> 2792 super().__init__(values, ndim=ndim, placement=placement)
2793
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/blocks.py in __init__(self, values, placement, ndim)
127 "Wrong number of items passed {val}, placement implies "
--> 128 "{mgr}".format(val=len(self.values), mgr=len(self.mgr_locs))
129 )
ValueError: Wrong number of items passed 1, placement implies 7
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
<ipython-input-40-66be6cf8c7d3> in <module>
1 PDX_venues = getNearbyVenues(names=PDX_NeighDF['Neighborhood'],
2 latitudes=PDX_NeighDF['Latitude'],
----> 3 longitudes=PDX_NeighDF['Longitude']
4 )
5
<ipython-input-39-53e5a94bf83d> in getNearbyVenues(names, latitudes, longitudes, limit)
39 'Venue Latitude',
40 'Venue Longitude',
---> 41 'Venue Category'])
42
43 return(nearby_venues)
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
462 mgr = arrays_to_mgr(arrays, columns, index, columns, dtype=dtype)
463 else:
--> 464 mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
465 else:
466 mgr = init_dict({}, index, columns, dtype=dtype)
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/construction.py in init_ndarray(values, index, columns, dtype, copy)
211 block_values = [values]
212
--> 213 return create_block_manager_from_blocks(block_values, [columns, index])
214
215
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/managers.py in create_block_manager_from_blocks(blocks, axes)
1686 blocks = [getattr(b, "values", b) for b in blocks]
1687 tot_items = sum(b.shape[0] for b in blocks)
-> 1688 construction_error(tot_items, blocks[0].shape[1:], axes, e)
1689
1690
~/conda/envs/python/lib/python3.6/site-packages/pandas/core/internals/managers.py in construction_error(tot_items, block_shape, axes, e)
1717 raise ValueError("Empty data passed with indices specified.")
1718 raise ValueError(
-> 1719 "Shape of passed values is {0}, indices imply {1}".format(passed, implied)
1720 )
1721
ValueError: Shape of passed values is (228, 1), indices imply (228, 7)
最佳答案
问题可能归结为您的 except
子句,该子句没有像 try
子句那样包装在嵌入式元组中。因此,venues_list 扩展了底层集合的每个元素。因此,您传递的是 [(tuple of vals), val1, val2, val3, 而不是
到 [(tuple of vals), tuple(val1, val2, val3), (tuple of vals)]
(vals 元组)]DataFrame
构造函数中。
except KeyError:
venues_list.extend([(
name,
lat,
lng)])
还应考虑捕获可能由于 API 请求调用而不仅仅是返回的 json 导致的任何异常。另外,包含 numpy.nan
来查找缺失的列(因此数据框中会产生 NaN
而不是 None
结果)。
except Exception as e:
print(e.message)
venues_list.extend([(
name,
lat,
lng,
np.nan,
np.nan,
np.nan,
np.nan)])
关于python - 如何解析 "ValueError: Shape of passed values is (228, 1), indices imply (228, 7)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59981524/
我有一个 TableView,每个单元格的附件都设置为“披露指示器”,它工作正常。 然后,我决定在使用外部来源的数据更新每个单元格时添加一个事件指示器。为此,我设置了: cell.accessoryV
我正在尝试遵循来自 here 的公认解决方案在 Xcode 6.3.2 上,但指示器拒绝显示,或者由于某种原因我在 iPhone 6 plus 上看不到它。没有错误消息、带有标题的警告等显示,并且空白
我的 JavaFX 应用程序计算另一个文件夹下一层的每个文件夹的大小。我的问题是,当我点击“应用”按钮(该按钮在另一个类中开始计算)时,我想要一个不确定的进度指示器来向用户显示该应用程序正在运行并且尚
One of the biggest causes of instability in Elasticsearch is fielddata: field values have to be load
我在实验宇宙学中做一些模拟,在使用 numpy 数组时遇到了这个问题。我是 numpy 的新手,所以我不确定我是否做错了或者这是一个错误。我跑: Enthought Python Distributi
我有一个结构数组,这些结构基本上是形成一条边的两个点。由于性能,我使用结构。 现在我有对象 A 保存边缘和这个对象中的一个方法来告诉另一个对象 B 关于这个边缘数组中的连续边缘列表。 边缘: e0 e
我正在使用 Elasticsearch ( Official PHP client) 开发一个 PHP 网站。 我正在编写需要确定新插入文档的测试在继续之前准备好搜索。 为此,在索引新文档后,我调用:
我是 DirectX 12 的新手,正在尝试在 DX 上渲染网格。到目前为止,我成功地从 obj 和 fbx 文件中检索顶点和索引,并使用模板通用窗口项目在 DX 12 上渲染所有顶点。但是,我遇到了
我是 DirectX 12 的新手,正在尝试在 DX 上渲染网格。到目前为止,我成功地从 obj 和 fbx 文件中检索顶点和索引,并使用模板通用窗口项目在 DX 12 上渲染所有顶点。但是,我遇到了
我正在使用 StratifiedKFold 创建用于拆分数据的索引。它给了我索引超出范围的错误。 Xdev的索引从0到47503。 cv_index 变量的 min 和 max 索引分别为 0 和 1
我想绘制以下 UIPageControl 指示器: 我目前有以下代码,结果是: if (isHighlighted) { UIBezierPath *ovalPath = [UIBezierP
我们在以下用例中使用 elasticsearch。 Elasticsearch 版本:5.1.1 注意:我们使用的是 AWS 托管的 ElasticSearch 我们有一个 Multi-Tenancy
我正在尝试使用 scikit-learn 中的算法根据大量输入来预测输出。我似乎收到错误“索引过多”,但无法弄清楚原因。 CSV 文件训练: 1.1 0.2 0.1 0 0.12 0
在this page的底部从 Python 2.3 文档中它说: slice objects now have a method indices(length) which, given the le
我在主线程上做一些繁重的计算,这些计算不能在单独的线程上运行。 我想在这些计算运行时在应用程序 UI 上显示一个“忙碌指示器”(即旋转小部件)。因此,我无法在主线程上显示繁忙指示器,因为在这些计算运行
我有一个名为 memory_region 的类,有点像未类型化的 gsl::span (即它本质上是一个 void* 和一个 size_t ),我也将其用于类型删除。因此它有一个 as_span()方
我一直在寻找如何将 Tablayout 中的指示器更改为圆形,就像这样 但我不知道该怎么做,任何帮助! 最佳答案 来自source code ,标签指示器定义为: @dimen/de
我在哪里可以找到可绘制的 Android“向上”按钮以便我可以对其进行自定义?或者它的文件名是什么,以便我可以快速搜索以在 sdk 目录中找到它? 最佳答案 正如您在 default style 中看
我遇到了 ViewPager 的另一个问题,我现在无法用我目前的知识解决它。 我有带 ViewPager 的 TabPageIndicator,在每个选项卡上,我都显示文本。这是简单的 TextVie
我将如何制作一个自定义指示器,该指示器将使用可绘制对象和用于 SwipeRefreshLayout 的自定义动画? 我查看了 SwipeRefreshLayout 的源代码,发现 CircleImag
我是一名优秀的程序员,十分优秀!