dtoolkit.accessor.dataframe.to_series#
- dtoolkit.accessor.dataframe.to_series(df: DataFrame, /, name: Hashable = None, index_column: Hashable = None, value_column: Hashable = None) Series | DataFrame [source]#
-
- Parameters:
- nameHashable, optional
The new name of returned Series. If not set, would use the original name.
- index_columnHashable, optional
The Series’s index.
- value_columnHashable, optional
The Series’s value.
- Returns:
- Series or DataFrame
Series if
df
is one column DataFrame orvalue_column
is set.
- Raises:
- ValueError
If
index_column
is same tovalue_column
.If
index_column
is not in the columns.If
value_column
is not in the columns.
Examples
>>> import dtoolkit >>> import pandas as pd
Convert one column DataFrame to Series.
>>> df = pd.DataFrame(range(3)) >>> df 0 0 0 1 1 2 2 >>> df.to_series(name="new name") 0 0 1 1 2 2 Name: new name, dtype: int64
Can’t directly convert two or more columns DataFrame
>>> df = pd.DataFrame({"a": range(3), "b": range(3, 6), "c": range(6, 9)}) >>> df a b c 0 0 3 6 1 1 4 7 2 2 5 8 >>> df.to_series() a b c 0 0 3 6 1 1 4 7 2 2 5 8
Convert to Series via
value_column
. A sugar syntax fordf.get(value_column)
.>>> df.to_series(value_column="a") 0 0 1 1 2 2 Name: a, dtype: int64
Convert to Series via
index_column
andvalue_column
. A sugar syntax fordf.set_index(index_column).get(value_column)
.>>> df.to_series(index_column="b", value_column="c") b 3 6 4 7 5 8 Name: c, dtype: int64