Python DataFrame转为List
在数据处理和分析中,DataFrame是一种非常常用的数据结构,它类似于Excel表格,可以存储不同类型的数据,并且支持各种数据操作。有时候我们需要将DataFrame中的数据转换为List,以便进行进一步的处理或分析。本文将详细介绍如何使用Python将DataFrame转换为List,并提供多个示例代码。
1. 将DataFrame的一列转为List
首先,我们来看如何将DataFrame中的一列数据转换为List。我们可以使用tolist()方法来实现这个功能。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5]}df = pd.DataFrame(data)# 将DataFrame的一列转为Listlist_A = df['A'].tolist()print(list_A)
Output:

2. 将DataFrame的多列转为List
如果我们想要将DataFrame中的多列数据转换为List,可以使用values.tolist()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的多列转为Listlist_AB = df[['A', 'B']].values.tolist()print(list_AB)
Output:

3. 将整个DataFrame转为List
如果我们想要将整个DataFrame转换为List,可以使用values.tolist()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将整个DataFrame转为Listlist_df = df.values.tolist()print(list_df)Output:

4. 将DataFrame的行转为List
有时候我们需要将DataFrame中的每一行数据转换为List,可以使用iterrows()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的行转为Listlist_rows = [list(row) for index, row in df.iterrows()]print(list_rows)Output:

5. 将DataFrame的列名转为List
有时候我们需要将DataFrame中的列名转换为List,可以使用columns.tolist()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名转为Listlist_columns = df.columns.tolist()print(list_columns)Output:

6. 将DataFrame的索引转为List
有时候我们需要将DataFrame中的索引转换为List,可以使用index.tolist()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的索引转为Listlist_index = df.index.tolist()print(list_index)Output:

7. 将DataFrame的列名和数据转为List of Dicts
有时候我们需要将DataFrame中的列名和数据转换为List of Dicts,可以使用to_dict(orient='records')方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of Dictslist_dicts = df.to_dict(orient='records')print(list_dicts)Output:

8. 将DataFrame的列名和数据转为List of Tuples
有时候我们需要将DataFrame中的列名和数据转换为List of Tuples,可以使用to_records(index=False)方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of Tupleslist_tuples = [tuple(x) for x in df.to_records(index=False)]print(list_tuples)Output:

9. 将DataFrame的列名和数据转为List of Lists
有时候我们需要将DataFrame中的列名和数据转换为List of Lists,可以使用values.tolist()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of Listslist_lists = df.values.tolist()print(list_lists)Output:

10. 将DataFrame的列名和数据转为List of Series
有时候我们需要将DataFrame中的列名和数据转换为List of Series,可以使用iterrows()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of Serieslist_series = [pd.Series(row) for index, row in df.iterrows()]print(list_series)Output:

11. 将DataFrame的列名和数据转为List of NamedTuples
有时候我们需要将DataFrame中的列名和数据转换为List of NamedTuples,可以使用itertuples()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of NamedTupleslist_namedtuples = [row for row in df.itertuples(index=False, name='Data')]print(list_namedtuples)Output:

12. 将DataFrame的列名和数据转为List of Arrays
有时候我们需要将DataFrame中的列名和数据转换为List of Arrays,可以使用to_numpy()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of Arrayslist_arrays = df.to_numpy().tolist()print(list_arrays)Output:

13. 将DataFrame的列名和数据转为List of JSON
有时候我们需要将DataFrame中的列名和数据转换为List of JSON,可以使用to_json(orient='records')方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of JSONlist_json = df.to_json(orient='records')print(list_json)Output:

14. 将DataFrame的列名和数据转为List of CSV
有时候我们需要将DataFrame中的列名和数据转换为List of CSV,可以使用to_csv()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of CSVlist_csv = df.to_csv(index=False).split('\n')print(list_csv)Output:

15. 将DataFrame的列名和数据转为List of HTML
有时候我们需要将DataFrame中的列名和数据转换为List of HTML,可以使用to_html()方法。下面是一个示例代码:
import pandas as pd# 创建一个DataFramedata = {'A': [1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e']}df = pd.DataFrame(data)# 将DataFrame的列名和数据转为List of HTMLlist_html = df.to_html(index=False).split('\n')print(list_html)Output:

结语
本文介绍了如何使用Python将DataFrame转换为不同类型的List,并提供了多个示例代码。通过这些示例代码,读者可以灵活地将DataFrame中的数据转换为List,并根据自己的需求进行进一步的处理和分析。
