如何更简洁地向DataFrame中填充数据?
更简洁地将列表加载到Pandas DataFrame的方法
嘿,我来帮你简化这段代码!你现在逐个给空DataFrame添加列的方式有点冗余,这里有几种更高效简洁的写法:
方法1:直接用字典构造DataFrame(最推荐)
这是最直观也最简洁的方式——把列名和对应的列表放进一个字典,直接传给pd.DataFrame(),一步到位创建完整的DataFrame:
import pandas as pd # 一次性构造DataFrame df = pd.DataFrame({ 'title': title_list, 'url': url_list, 'category': category_list, 'traffic': traffic_list, 'revenue': revenue_list, 'price': value_list }) df.to_csv('test.csv', sep=",")
这种写法的优势很明显:
- 代码紧凑,避免了先初始化空DataFrame再逐个赋值的冗余步骤
- 列名和数据的对应关系一目了然,可读性极强
- 只要所有列表的长度一致,pandas会自动处理数据对齐
方法2:用列表的列表+转置(适合按顺序批量处理)
如果你习惯按顺序整理数据,也可以把所有列表放进一个大列表,转置后再指定列名:
import pandas as pd # 按列顺序整理数据列表 data_lists = [title_list, url_list, category_list, traffic_list, revenue_list, value_list] # 转置后设置列名 df = pd.DataFrame(data_lists).T df.columns = ['title', 'url', 'category', 'traffic', 'revenue', 'price'] df.to_csv('test.csv', sep=",")
不过这种方法需要注意列表的顺序必须和列名严格对应,不然会出现数据错位,所以相比第一种字典的方式,可读性和安全性稍弱一些。
总的来说,第一种字典构造的方法是最优解,既简洁又清晰!
内容的提问来源于stack exchange,提问作者sgerbhctim
相关产品推荐
相关产品推荐

