How to create Pandas Series of type string?
I am working on exporting data from Python to an SQL database, and for performance reasons I'm trying to ensure that the data I'm exporting is registered as having the correct type. Therefore, I'm trying to create a Pandas Series of my data, having the correct data type. I assume that calling dtype on a pd.Series object yields the data of its underlying elements. I'm having trouble getting this to work for string data.
Here's a code sample demonstrating the problem:
orig_data_string = ['abc'] * 10
pd_data_string = pd.Series(orig_data_string)
pd_data_string.dtype
Running the above in a Python console yields dtype('O')
, which I take to indicate an object type. What I would like was for this to be string instead. Now, I can do something similar with numerical values:
orig_data_float = [1.23] * 10
pd_data_float = pd.Series(orig_data_float)
pd_data_float.dtype
and in this case, I get the result dtype('float64')
, so Pandas in this case has correctly inferred the data type from the list input. If I try pd.Series(orig_data_string).astype(str)
, I get the same result. How can I create a Pandas Series object with underlying data type str
from a list of strings?
python string pandas list series
add a comment |
I am working on exporting data from Python to an SQL database, and for performance reasons I'm trying to ensure that the data I'm exporting is registered as having the correct type. Therefore, I'm trying to create a Pandas Series of my data, having the correct data type. I assume that calling dtype on a pd.Series object yields the data of its underlying elements. I'm having trouble getting this to work for string data.
Here's a code sample demonstrating the problem:
orig_data_string = ['abc'] * 10
pd_data_string = pd.Series(orig_data_string)
pd_data_string.dtype
Running the above in a Python console yields dtype('O')
, which I take to indicate an object type. What I would like was for this to be string instead. Now, I can do something similar with numerical values:
orig_data_float = [1.23] * 10
pd_data_float = pd.Series(orig_data_float)
pd_data_float.dtype
and in this case, I get the result dtype('float64')
, so Pandas in this case has correctly inferred the data type from the list input. If I try pd.Series(orig_data_string).astype(str)
, I get the same result. How can I create a Pandas Series object with underlying data type str
from a list of strings?
python string pandas list series
1
Strings are represented asO
in Series. So if you getdtype('O')
, it means it IS a string.
– Mohit Motwani
Nov 20 '18 at 12:39
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate thatdtype('S')
would indicate a string?
– Alexander Sokol
Nov 20 '18 at 12:42
2
@AlexanderSokol - It is difference betweendtypes
andtypes
, check linked answer for difference link
– jezrael
Nov 20 '18 at 12:46
add a comment |
I am working on exporting data from Python to an SQL database, and for performance reasons I'm trying to ensure that the data I'm exporting is registered as having the correct type. Therefore, I'm trying to create a Pandas Series of my data, having the correct data type. I assume that calling dtype on a pd.Series object yields the data of its underlying elements. I'm having trouble getting this to work for string data.
Here's a code sample demonstrating the problem:
orig_data_string = ['abc'] * 10
pd_data_string = pd.Series(orig_data_string)
pd_data_string.dtype
Running the above in a Python console yields dtype('O')
, which I take to indicate an object type. What I would like was for this to be string instead. Now, I can do something similar with numerical values:
orig_data_float = [1.23] * 10
pd_data_float = pd.Series(orig_data_float)
pd_data_float.dtype
and in this case, I get the result dtype('float64')
, so Pandas in this case has correctly inferred the data type from the list input. If I try pd.Series(orig_data_string).astype(str)
, I get the same result. How can I create a Pandas Series object with underlying data type str
from a list of strings?
python string pandas list series
I am working on exporting data from Python to an SQL database, and for performance reasons I'm trying to ensure that the data I'm exporting is registered as having the correct type. Therefore, I'm trying to create a Pandas Series of my data, having the correct data type. I assume that calling dtype on a pd.Series object yields the data of its underlying elements. I'm having trouble getting this to work for string data.
Here's a code sample demonstrating the problem:
orig_data_string = ['abc'] * 10
pd_data_string = pd.Series(orig_data_string)
pd_data_string.dtype
Running the above in a Python console yields dtype('O')
, which I take to indicate an object type. What I would like was for this to be string instead. Now, I can do something similar with numerical values:
orig_data_float = [1.23] * 10
pd_data_float = pd.Series(orig_data_float)
pd_data_float.dtype
and in this case, I get the result dtype('float64')
, so Pandas in this case has correctly inferred the data type from the list input. If I try pd.Series(orig_data_string).astype(str)
, I get the same result. How can I create a Pandas Series object with underlying data type str
from a list of strings?
python string pandas list series
python string pandas list series
asked Nov 20 '18 at 12:35
Alexander SokolAlexander Sokol
399211
399211
1
Strings are represented asO
in Series. So if you getdtype('O')
, it means it IS a string.
– Mohit Motwani
Nov 20 '18 at 12:39
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate thatdtype('S')
would indicate a string?
– Alexander Sokol
Nov 20 '18 at 12:42
2
@AlexanderSokol - It is difference betweendtypes
andtypes
, check linked answer for difference link
– jezrael
Nov 20 '18 at 12:46
add a comment |
1
Strings are represented asO
in Series. So if you getdtype('O')
, it means it IS a string.
– Mohit Motwani
Nov 20 '18 at 12:39
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate thatdtype('S')
would indicate a string?
– Alexander Sokol
Nov 20 '18 at 12:42
2
@AlexanderSokol - It is difference betweendtypes
andtypes
, check linked answer for difference link
– jezrael
Nov 20 '18 at 12:46
1
1
Strings are represented as
O
in Series. So if you get dtype('O')
, it means it IS a string.– Mohit Motwani
Nov 20 '18 at 12:39
Strings are represented as
O
in Series. So if you get dtype('O')
, it means it IS a string.– Mohit Motwani
Nov 20 '18 at 12:39
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate that
dtype('S')
would indicate a string?– Alexander Sokol
Nov 20 '18 at 12:42
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate that
dtype('S')
would indicate a string?– Alexander Sokol
Nov 20 '18 at 12:42
2
2
@AlexanderSokol - It is difference between
dtypes
and types
, check linked answer for difference link– jezrael
Nov 20 '18 at 12:46
@AlexanderSokol - It is difference between
dtypes
and types
, check linked answer for difference link– jezrael
Nov 20 '18 at 12:46
add a comment |
1 Answer
1
active
oldest
votes
Pandas object
O
dtype treated as str
itself.
Please refer the below example.
>>> df = pd.DataFrame({'float': [1.0],
... 'int': [1],
... 'datetime': [pd.Timestamp('20180310')],
... 'string': ['foo']})
>>> df.dtypes
float float64
int int64
datetime datetime64[ns]
string object
dtype: object
Reference: https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.dtypes.html
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%2f53393122%2fhow-to-create-pandas-series-of-type-string%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
Pandas object
O
dtype treated as str
itself.
Please refer the below example.
>>> df = pd.DataFrame({'float': [1.0],
... 'int': [1],
... 'datetime': [pd.Timestamp('20180310')],
... 'string': ['foo']})
>>> df.dtypes
float float64
int int64
datetime datetime64[ns]
string object
dtype: object
Reference: https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.dtypes.html
add a comment |
Pandas object
O
dtype treated as str
itself.
Please refer the below example.
>>> df = pd.DataFrame({'float': [1.0],
... 'int': [1],
... 'datetime': [pd.Timestamp('20180310')],
... 'string': ['foo']})
>>> df.dtypes
float float64
int int64
datetime datetime64[ns]
string object
dtype: object
Reference: https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.dtypes.html
add a comment |
Pandas object
O
dtype treated as str
itself.
Please refer the below example.
>>> df = pd.DataFrame({'float': [1.0],
... 'int': [1],
... 'datetime': [pd.Timestamp('20180310')],
... 'string': ['foo']})
>>> df.dtypes
float float64
int int64
datetime datetime64[ns]
string object
dtype: object
Reference: https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.dtypes.html
Pandas object
O
dtype treated as str
itself.
Please refer the below example.
>>> df = pd.DataFrame({'float': [1.0],
... 'int': [1],
... 'datetime': [pd.Timestamp('20180310')],
... 'string': ['foo']})
>>> df.dtypes
float float64
int int64
datetime datetime64[ns]
string object
dtype: object
Reference: https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.dtypes.html
answered Nov 20 '18 at 12:41
Srce CdeSrce Cde
1,184511
1,184511
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%2f53393122%2fhow-to-create-pandas-series-of-type-string%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
1
Strings are represented as
O
in Series. So if you getdtype('O')
, it means it IS a string.– Mohit Motwani
Nov 20 '18 at 12:39
Are you sure? The top-rated answer to this question: stackoverflow.com/questions/37561991/what-is-dtypeo seems to indicate that
dtype('S')
would indicate a string?– Alexander Sokol
Nov 20 '18 at 12:42
2
@AlexanderSokol - It is difference between
dtypes
andtypes
, check linked answer for difference link– jezrael
Nov 20 '18 at 12:46