R语言:如何将千余变量/列标题转置为单个垂直列?
嘿,这个需求太实用了——尤其是当变量多到记不住,想要快速检索的时候!我给你分R和Python两种最常用的数据分析场景,分别写解决方案,都是几步就能搞定的:
R 实现方法
假设你的原数据框名叫df,我们只需要提取列名再转成单列数据框就行,完全不用碰原数据里的观测值:
- 常规分步写法:
# 先提取原数据的所有列名 var_names <- colnames(df) # 把列名转成单列数据框,指定列标题为"Column" new_df <- data.frame(Column = var_names) - 嫌麻烦的话,一行就能搞定:
new_df <- data.frame(Column = colnames(df))
Python 实现方法
如果用pandas处理数据(这是Python数据分析的标配啦),操作同样简单:
假设原数据框是df,代码如下:
import pandas as pd # 直接把原数据的列名转成单列数据框,指定列名为"Column" new_df = pd.DataFrame({'Column': df.columns})
要是你不想用pandas(虽然不太推荐处理数据不用它),用基础Python也能生成类似结构的字典,后续转成表格也很方便:
# 先把列名转成列表 var_names = list(df.columns) # 生成键为"Column"的字典 new_df_dict = {'Column': var_names}
不管用哪种方法,最终得到的结果都是只有一列Column的结构,每一行对应原数据的一个变量名,完全满足你便捷检索的需求~
内容的提问来源于stack exchange,提问作者Tyler Witt
相关产品推荐
相关产品推荐

