Python 如何将值列表转换为列名并作为变量输入到数据帧中?

Python 如何将值列表转换为列名并作为变量输入到数据帧中?,python,pandas,Python,Pandas,我想将一系列值(定义为U区域)转换为列标题。例如,现代化_区域输出:A、B、C、D和希望函数通过生成列A、B、C和D来循环每个区域。理想情况下,该变量将替换最后一行中的“现代化_区域”,但python不接受该变量 modernization_list = pd.DataFrame(keyword_table['Modernization_Area'].unique().tolist()) modernization_list.columns = ['Modernization_Area']

我想将一系列值(定义为U区域)转换为列标题。例如,现代化_区域输出:A、B、C、D和希望函数通过生成列A、B、C和D来循环每个区域。理想情况下,该变量将替换最后一行中的“现代化_区域”,但python不接受该变量

modernization_list = pd.DataFrame(keyword_table['Modernization_Area'].unique().tolist())

modernization_list.columns = ['Modernization_Area']

x = range(len(modernization_list['Modernization_Area'].unique().tolist()))

for i in x:

    modernization_area = modernization_list._get_value(i, 'Modernization_Area')

    keyword_subset = keyword_table[keyword_table.Modernization_Area == modernization_area]

    keywords = keyword_subset['Keyword'].tolist()

    report_table['a'] = report_table.award_description.str.findall('({0})'.format('|'.join(keywords), flags=re.IGNORECASE)

帮助你并不容易,因为你的问题缺少很多信息。我假设hipotheticals
关键字表
报告表
。事实上,我不知道我是否真的得到了你真正想要的。但我希望这段代码能有所帮助:

假设块:

supposed_keyword_table = pd.DataFrame({'Keyword': ['word1', 'word2', 'word3', 'word4', 'word5', 'word6', 'word7'], 'Modernization Area': ['A', 'B', 'C', 'D', 'A', 'B', 'D']})

supposed_report_table =  pd.DataFrame({'Modernization Area': ['A', 'B', 'C', 'D'], 'Some Value': [1, 2, 3, 4]})

supposed_keyword_table

    Keyword     Modernization Area
0   word1   A
1   word2   B
2   word3   C
3   word4   D
4   word5   A
5   word6   B
6   word7   D

supposed_report_table

    Modernization Area  Some Value
0   A   1
1   B   2
2   C   3
3   D   4
现在,在假设之后,您可以做以下几点:

keyword_table_by_mod_area = supposed_keyword_table.groupby(['Modernization Area'])['Keyword'].apply(lambda x: '|'.join(x))

supposed_report_table = pd.merge(supposed_report_table, keyword_table_by_mod_area, on='Modernization Area', how='left')

supposed_report_table

    Modernization Area  Some Value  Keyword
0   A   1   word1|word5
1   B   2   word2|word6
2   C   3   word3
3   D   4   word4|word7

您能否共享原始数据帧的外观以及所需数据帧的外观请参见,然后是您的问题,并将剪贴板粘贴到代码块中。始终以文本形式提供代码、数据、错误、当前输出和预期输出。如果相关,打印图像也可以。