Python - إعادة تسمية رؤوس الأعمدة tuple

لقد راجعت:

Renaming tuple column name in dataframe

يبدو أن أيا من الردود لا يعمل.

لدي مخطط بيانات يحتوي على مجموعات رؤوس رؤوس أعمدة:

list(dfA)

[('Total', 'Book'),
 ('Total', 'Book Chapter'),
 ('Total', 'Book edited'),
 ('Total', 'Conference Proceeding_Abstract'),
 ('Total', 'Consultancy Report'),
 ('Total', 'Journal Article'),
 ('Total', 'Manual/Guide'),
 ('Total', 'Manual/Guide'),
 ('Total', 'Monograph'),
 ('Total', 'Other'),
 ('Total', 'Policy briefing_report'),
 ('Total', 'Scholarly edition'),
 ('Total', 'Systematic review'),
 ('Total', 'Technical Report'),
 ('Total', 'Technical Standard'),
 ('Total', 'Thesis'),
 ('Total', 'Working Paper')]

لقد حاولت عدة طرق لإعادة تسميتها ، لكنها لن تعمل. يجب أن أذكر أن الأعمدة قد تتغير ، ولكن هذا هو الحد الأقصى للمبلغ الذي سيكون هناك (لذلك لم أستخدم الموقع)

هذا الرمز الذي جربته هو:

dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA = dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA.rename(columns={'('Total', 'Book')':"Book"})

لقد حاولت أيضًا تحويلهم إلى سلاسل مثل:

dfA.columns = [str(s) for s in dfA.columns]

ومع ذلك ، لن عتبة تغيير أي شيء. أي اقتراحات؟

0

1 إجابة

أعتقد أنك تحتاج إذا احتجت إلى قيمة ثانية من tuples list list :

dfA.columns = [x[1] for x in dfA.columns]
0
وأضاف
واو كان ذلك سريعًا. أنا فقط خرجت من مكتبي لبضع دقائق ، بمجرد أن أعود سأعطيها الذهاب :) شكرا لك
وأضاف المؤلف ScoutEU, مصدر
في احسن الاحوال. الأولى لم تعمل كما يبدو أنها مؤشر متعدد ، لكن الثانية عملت بشكل مثالي. شكرا لك جزريل!
وأضاف المؤلف ScoutEU, مصدر