Ik heb een dataframe dat uit honderden kolommen bestaat en ik moet alle kolomnamen zien.
Wat ik deed:
In[37]:
data_all2.columns
De uitvoer is:
Out[37]:
Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food',
'government', 'internet', 'isipulsa',
...
'overdue_3months_feature78', 'overdue_3months_feature79',
'overdue_3months_feature80', 'overdue_3months_feature81',
'overdue_3months_feature82', 'overdue_3months_feature83',
'overdue_3months_feature84', 'overdue_3months_feature85',
'overdue_3months_feature86', 'loan_overdue_3months_total_y'],
dtype='object', length=102)
Hoe toon ik allekolommen, in plaats van een afgekapte lijst?
Antwoord 1, autoriteit 100%
U kunt de afdrukopties globaal instellen. Ik denk dat dit zou moeten werken:
Methode 1:
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
Methode 2:
pd.options.display.max_columns = None
pd.options.display.max_rows = None
Hierdoor kunt u alle kolomnamen & rijen wanneer u .head()
doet. Geen van de kolomnamen wordt afgekapt.
Als u alleen de kolomnamen wilt zien, kunt u het volgende doen:
print(df.columns.tolist())
Antwoord 2, autoriteit 17%
Om alle kolomnamen van een DataFrame, df_data
in dit voorbeeld, te verkrijgen, hoeft u alleen het commando df_data.columns.values
te gebruiken.
Dit toont u een lijst met alle kolomnamen van uw dataframe
Code:
df_data=pd.read_csv('../input/data.csv')
print(df_data.columns.values)
Uitvoer:
['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']
Antwoord 3, autoriteit 5%
In de interactieve console is het eenvoudig om te doen:
data_all2.columns.tolist()
Of dit in een script:
print(data_all2.columns.tolist())
Antwoord 4, autoriteit 5%
Dit zal het lukken. Let op het gebruik van display()
in plaats van print.
with pd.option_context('display.max_rows', 5, 'display.max_columns', None):
display(my_df)
BEWERKEN:
Het gebruik van display
is vereist omdat de instellingen van pd.option_context
alleen van toepassing zijn op display
en niet op print
.
Antwoord 5, autoriteit 2%
Wat voor mij werkte, was het volgende:
pd.options.display.max_seq_items = None
Je kunt het ook instellen op een geheel getal dat groter is dan je aantal kolommen.
Antwoord 6
Geen conventioneel antwoord, maar ik denk dat je het dataframe kon omzetten om naar de rijen te kijken in plaats van de kolommen. Ik gebruik dit omdat ik kijk naar rijen meer ‘intuïtioneel’ dan naar kolommen kijken:
data_all2.T
Dit moet je alle rijen laten zien. Deze actie is niet permanent , het laat het gewoon de transponeerde versie van het dataframe bekijken.
Als de rijen nog steeds worden afgekapt, gebruik gewoon print(data_all2.T)
om alles te bekijken.
Antwoord 7
De eenvoudigste manier die ik heb gevonden, is slechts
list(df.columns)
Persoonlijk zou ik de globals niet willen veranderen, het is niet zo vaak dat ik alle namen van de kolommen wil zien.
Antwoord 8
Om alle kolomnaam te krijgen, kunt u over de data_all2.columns
.
columns = data_all2.columns
for col in columns:
print col
U krijgt alle kolomnamen.
Of u kunt alle kolomnamen opslaan op een andere lijstvariabele en vervolgens afdrukken.
Antwoord 9
Ik weet dat het een herhaling is, maar ik eindig altijd aan het plakken en het wijzigen van het antwoord van Yolo:
pd.set_option('display.max_columns', 500)
pd.set_option('display.max_rows', 500)
Antwoord 10
U kunt dit proberen
pd.pandas.set_option('display.max_columns', None)
Antwoord 11
Als u alleen alle kolommen wilt zien, kunt u iets van dit soort doen als een snelle oplossing
cols = data_all2.columns
nu zal cols zich gedragen als een iteratieve variabele die kan worden geïndexeerd. bijvoorbeeld
cols[11:20]
Antwoord 12
Een snelle en vuile oplossing zou zijn om het naar een string te converteren
print('\t'.join(data_all2.columns))
zodat ze allemaal worden afgedrukt, gescheiden door tabbladen
Houd er natuurlijk rekening mee dat met 102 namen, allemaal nogal lang, dit een beetje moeilijk zal zijn om door te lezen
Antwoord 13
Ik had veel dubbele kolomnamen en toen ik eenmaal liep
df = df.loc[:,~df.columns.duplicated()]
Ik heb de volledige lijst met kolommen kunnen zien