pymongo cursor to Pandas dataframes
I need to convert my mongodb cursor to pandas dataframe. I want to avoid the use of lists directly using data = list(collection.find())
but it goes out of memory, occupies a lot of memory. suggest me an efficient way to use lists or an alternative solution for this.
I have used a list to convert in pandas dataframe. It goes out of memory and stops the execution.
collection = db.get_collection('xxxyyyzzz')
data = collection.find()
for i in data:
lst = pd.DataFrame(list.append(data))
I want to convert cursor to dataframe.
python python-3.x mongodb pandas dataframe
add a comment |
I need to convert my mongodb cursor to pandas dataframe. I want to avoid the use of lists directly using data = list(collection.find())
but it goes out of memory, occupies a lot of memory. suggest me an efficient way to use lists or an alternative solution for this.
I have used a list to convert in pandas dataframe. It goes out of memory and stops the execution.
collection = db.get_collection('xxxyyyzzz')
data = collection.find()
for i in data:
lst = pd.DataFrame(list.append(data))
I want to convert cursor to dataframe.
python python-3.x mongodb pandas dataframe
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26
add a comment |
I need to convert my mongodb cursor to pandas dataframe. I want to avoid the use of lists directly using data = list(collection.find())
but it goes out of memory, occupies a lot of memory. suggest me an efficient way to use lists or an alternative solution for this.
I have used a list to convert in pandas dataframe. It goes out of memory and stops the execution.
collection = db.get_collection('xxxyyyzzz')
data = collection.find()
for i in data:
lst = pd.DataFrame(list.append(data))
I want to convert cursor to dataframe.
python python-3.x mongodb pandas dataframe
I need to convert my mongodb cursor to pandas dataframe. I want to avoid the use of lists directly using data = list(collection.find())
but it goes out of memory, occupies a lot of memory. suggest me an efficient way to use lists or an alternative solution for this.
I have used a list to convert in pandas dataframe. It goes out of memory and stops the execution.
collection = db.get_collection('xxxyyyzzz')
data = collection.find()
for i in data:
lst = pd.DataFrame(list.append(data))
I want to convert cursor to dataframe.
python python-3.x mongodb pandas dataframe
python python-3.x mongodb pandas dataframe
edited Jan 2 at 10:25
meW
2,858120
2,858120
asked Jan 2 at 10:12
CerebrationCerebration
11
11
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26
add a comment |
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26
add a comment |
1 Answer
1
active
oldest
votes
You can use yield
to iterate over the cursor. Read more here. Basically yield
would process one item at a time, rather than saving everything in a memory.
def get_cursor():
collection = db.get_collection('xxxyyyzzz')
return collection.find()
def get_data_frames(cursor):
for a_document in cursor:
yield pd.DataFrame(list.append(data))
cursor = get_cursor()
for df in get_data_frames(cursor):
// Do whatever
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54004469%2fpymongo-cursor-to-pandas-dataframes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use yield
to iterate over the cursor. Read more here. Basically yield
would process one item at a time, rather than saving everything in a memory.
def get_cursor():
collection = db.get_collection('xxxyyyzzz')
return collection.find()
def get_data_frames(cursor):
for a_document in cursor:
yield pd.DataFrame(list.append(data))
cursor = get_cursor()
for df in get_data_frames(cursor):
// Do whatever
add a comment |
You can use yield
to iterate over the cursor. Read more here. Basically yield
would process one item at a time, rather than saving everything in a memory.
def get_cursor():
collection = db.get_collection('xxxyyyzzz')
return collection.find()
def get_data_frames(cursor):
for a_document in cursor:
yield pd.DataFrame(list.append(data))
cursor = get_cursor()
for df in get_data_frames(cursor):
// Do whatever
add a comment |
You can use yield
to iterate over the cursor. Read more here. Basically yield
would process one item at a time, rather than saving everything in a memory.
def get_cursor():
collection = db.get_collection('xxxyyyzzz')
return collection.find()
def get_data_frames(cursor):
for a_document in cursor:
yield pd.DataFrame(list.append(data))
cursor = get_cursor()
for df in get_data_frames(cursor):
// Do whatever
You can use yield
to iterate over the cursor. Read more here. Basically yield
would process one item at a time, rather than saving everything in a memory.
def get_cursor():
collection = db.get_collection('xxxyyyzzz')
return collection.find()
def get_data_frames(cursor):
for a_document in cursor:
yield pd.DataFrame(list.append(data))
cursor = get_cursor()
for df in get_data_frames(cursor):
// Do whatever
answered Jan 2 at 10:28
Samaksh JainSamaksh Jain
36327
36327
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54004469%2fpymongo-cursor-to-pandas-dataframes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is the size of the collection? You may want to open a chucksize, process it, then open another chunk, ...
– jalazbe
Jan 2 at 10:26