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个方法可以帮到你,
.iat(index)
.iloc(index)
因此,例如,您可以获得 location
的最后一个元素,如下所示,
lastElement = location.iat[-1]
我正在使用 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个方法可以帮到你,
.iat(index)
.iloc(index)
因此,例如,您可以获得 location
的最后一个元素,如下所示,
lastElement = location.iat[-1]