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
dfis one column DataFrame orvalue_columnis set.
- Raises:
- ValueError
If
index_columnis same tovalue_column.If
index_columnis not in the columns.If
value_columnis 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_columnandvalue_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