【问题标题】:Python doesn't process all values of variable in loopPython不会在循环中处理变量的所有值
【发布时间】:2017-04-05 14:54:46
【问题描述】:

我使用 Python 3.x 并想为 plotly 绘图准备数据。 我不知道我的问题的根源在哪里。我有 for 循环:

for i in range(2,6):
    cases.append(go.Scattergeo(
        lon = pop['Lon'],
        lat = pop['Lat'],
        text = pop[[i]],
        name = years[i],
        marker = dict(
            size = pop[[i]],            
        ),
    ) )

并输出:repr(cases)

"[{'marker': {'size':      1980-12-31\n0          17.0\n1          19.4\n2          24.3\n3          20.7\n4           0.0\n5          27.7\n6          39.6\n7          22.5\n8         224.2\n9          32.3\n10        163.8\n11         20.7\n12          0.0\n13         20.6\n14         24.4\n15         39.8\n16         22.0\n17         35.8\n18        348.6\n19        234.3\n20         53.0\n21         19.7\n22         18.3\n23         32.0\n24        150.1\n25         35.6\n26         33.8\n27         33.9\n28         31.5\n29         35.4\n..          ...\n204        23.5\n205         0.0\n206        19.2\n207       133.5\n208        22.8\n209      1596.1\n210        42.4\n211        17.1\n212        18.3\n213       106.8\n214         0.0\n215        30.9\n216       617.7\n217        23.5\n218        16.6\n219        17.3\n220       196.0\n221        23.9\n222        28.8\n223        17.4\n224        46.8\n225        35.4\n226        62.6\n227        39.0\n228        53.1\n229        33.3\n230         0.0\n231        47.5\n232        37.2\n233        28.3\n\n[234 rows x 1 columns]}, 'name': '1980', 'lon': 0      19.299\n1      19.339\n2      23.000\n3      20.809\n4      19.129\n5      19.360\n6      23.110\n7      15.979\n8      23.159\n9      16.610\n10     19.049\n11     23.290\n12     19.100\n13     22.729\n14     20.429\n15     15.560\n16     19.399\n17     17.470\n18     18.010\n19     18.909\n20     23.490\n21     18.429\n22     16.910\n23     17.569\n24     19.030\n25     19.399\n26     20.620\n27     18.629\n28     19.020\n29     19.129\n        ...  

问题是输出被截断。我认为这是一个显示问题并将此变量保存到文件中,但令人惊讶的是,在该文件中显示的文本完全相同。 [234 rows x 1 columns] 的值不应在文件中。

f = open( 'cities.py', 'w' )
f.write( 'dict = ' + repr(cases) + '\n' )
f.close()

对不起,也许这个问题是微不足道的,我时常使用 Python,并没有完全理解它的奇怪机制。在每种语言中,变量都可以在显示时被截断,但不是这样。我应该使用什么函数来查看所有值?

干杯。

【问题讨论】:

  • pop[[i]] 不应该做任何事情,你应该看到一个错误
  • 您正在将repr(cases) 写入文件,因此它将具有相同(截断)的内容。要查看整个字典,请使用 pprint (docs.python.org/2/library/pprint.html) 之类的东西。
  • repr 的大小是有限的。尝试转换为 json 或其他文件格式。
  • 不要在您的问题中添加答案——只需添加一个答案。你也可以接受。
  • 好的,但是按钮建议使用评论框。在这种情况下我总是很困惑。

标签: python pandas


【解决方案1】:

好的。感谢this 帖子找到了解决方案。问题是熊猫的显示选项,在这种情况下是最大行数。谁会猜到。

pd.options.display.max_rows = 5000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多