如何将Python DataFrame中两列列表转为表头与数据行?
解决方案
假设你的原始DataFrame结构如下(列名可根据实际情况替换):
| columns | data |
|---|---|
| [latitude, longitude, aurora] | [34,25,2] |
可以通过以下步骤实现需求:
提取列名和数据
从原始DataFrame中取出列名列表和所有数据行的列表:import pandas as pd # 假设你的原始DataFrame名为df # 提取列名(取第一行的columns列值) new_columns = df.iloc[0]['columns'] # 提取所有数据行(将data列的每个列表转为行数据) data_rows = df['data'].tolist()构造新的DataFrame
用提取到的列名和数据行创建新的DataFrame:new_df = pd.DataFrame(data_rows, columns=new_columns)
如果原始DataFrame只有一行数据,上述代码同样适用——data_rows会是包含单个列表的嵌套列表,完全符合DataFrame的构造要求。
验证示例:
假设原始df为:
df = pd.DataFrame({ 'columns': [['latitude', 'longitude', 'aurora']], 'data': [[34, 25, 2]] })
运行代码后,new_df的结构为:
| latitude | longitude | aurora |
|---|---|---|
| 34 | 25 | 2 |
内容的提问来源于stack exchange,提问作者DrewGIS
相关产品推荐
相关产品推荐

