Python:对 panda 返回的结果感到困惑。read_json 使用块

Python: confused about results returned by panda .read_json using chunks

我正在使用 python Panda 库读取一个大型 json 文件并将其拆分为可管理的块。这是我的代码:

import pandas as pd
inputFile='file.json'
chunks = pd.read_json(inputFile, lines=True, chunksize = 5)

i = 1


for c in chunks:
    location = c.a.str.split(',')
    print(location)
    i += 1

    if i > 1:
        break

这是输出:

0                                    [poland]
1        [reading,  reading,  united kingdom]
2            [humble,  texas,  united states]
3    [adelaide,  south australia,  australia]
4                                     [italy]
Name: loc, dtype: object

我对 return 状态(每个数组的最后一个元素)很感兴趣,但是如果我按以下方式修改我的代码:

import pandas as pd
inputFile='PeopleDataLabs_416M.json/PeopleDataLabs_416M.json'
chunks = pd.read_json(inputFile, lines=True, chunksize = 5)

i = 1

for c in chunks:
    location = c.a.str.split(',')
    print(location.pop())
    i += 1

    if i > 1:
        break

我收到错误:

print(location.pop())
TypeError: pop() missing 1 required positional argument: 'item'

还有一行:

print(location[-1])

return一个错误:

raise KeyError(key) from err
KeyError: -1

告诉我变量 'location' 不是数组,实际上是行:

location = c.a.str.split(',')
print(type(location))

return:

<class 'pandas.core.series.Series'>

所以我的问题是如何从我的输出中提取值:波兰、英国、美国、澳大利亚、意大利?

感谢您的帮助

pandas.core.series.Series有2个方法可以帮到你,

  1. .iat(index)
  2. .iloc(index)

因此,例如,您可以获得 location 的最后一个元素,如下所示,

lastElement = location.iat[-1]