Pandas:将 DataFrame 强制转换为 Series

有时您可能希望将 Pandas DataFrame 转换为 Series。您可以使用squeeze() 方法来做到这一点。

如果您的数据框只有一个column,您可以将其变成一个 Series,如下所示:

import pandas as pd

words = ['Dog', 'Cat', 'Crocodile', 'Dragon', 'Egle', 'KindaCode.com', 'Sow']
df = pd.DataFrame(words, columns=['Words'])

word_series = df.squeeze()
print(type(word_series))
print(word_series)

输出:

<class 'pandas.core.series.Series'>
0              Dog
1              Cat
2        Crocodile
3           Dragon
4             Egle
5    KindaCode.com
6              Sow
Name: Words, dtype: object

如果您的 DataFrame 有多个列,则必须指定要转换为 Series 的列。可以参考下面的例子:

import pandas as pd

cars = {
    'Brand': ['Honda Civic', 'Toyota Corolla', 'Ford Focus', 'Audi A4'],
    'Price': [22000, 25000, 27000, 35000]
}

df = pd.DataFrame(cars, columns = ['Brand', 'Price'])

brand_series = df['Brand'].squeeze();

print(type (brand_series))
print(brand_series)

输出:

<class 'pandas.core.series.Series'>
0       Honda Civic
1    Toyota Corolla
2        Ford Focus
3           Audi A4
Name: Brand, dtype: object