100% found this document useful (3 votes)
148 views

Download Complete Python for Data Analysis Data Wrangling with Pandas NumPy and IPython 1st Edition Wes Mckinney PDF for All Chapters

Analysis

Uploaded by

kamasmunaku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
148 views

Download Complete Python for Data Analysis Data Wrangling with Pandas NumPy and IPython 1st Edition Wes Mckinney PDF for All Chapters

Analysis

Uploaded by

kamasmunaku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Get ebook downloads in full at ebookmeta.

com

Python for Data Analysis Data Wrangling with


Pandas NumPy and IPython 1st Edition Wes Mckinney

https://ebookmeta.com/product/python-for-data-analysis-data-
wrangling-with-pandas-numpy-and-ipython-1st-edition-wes-
mckinney/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Python Data Analysis Numpy, Matplotlib and Pandas Bernd


Klein

https://ebookmeta.com/product/python-data-analysis-numpy-matplotlib-
and-pandas-bernd-klein/

ebookmeta.com

Python for Data Analysis, 3rd Edition (Second Early


Release) Wes Mckinney

https://ebookmeta.com/product/python-for-data-analysis-3rd-edition-
second-early-release-wes-mckinney/

ebookmeta.com

Data Analysis with Python Introducing NumPy Pandas


Matplotlib and Essential Elements of Python Programming
1st Edition Rituraj Dixit
https://ebookmeta.com/product/data-analysis-with-python-introducing-
numpy-pandas-matplotlib-and-essential-elements-of-python-
programming-1st-edition-rituraj-dixit/
ebookmeta.com

Illiberal Europe Eastern Europe from the Fall of the


Berlin Wall to the War in Ukraine 2nd Edition Léon Marc

https://ebookmeta.com/product/illiberal-europe-eastern-europe-from-
the-fall-of-the-berlin-wall-to-the-war-in-ukraine-2nd-edition-leon-
marc/
ebookmeta.com
Mapping the Field of Adult and Continuing Education An
International Compendium 1st Edition Alan B. Knox

https://ebookmeta.com/product/mapping-the-field-of-adult-and-
continuing-education-an-international-compendium-1st-edition-alan-b-
knox/
ebookmeta.com

What Really Happens in Vegas True Stories of the People


Who Make Vegas Vegas 1st Edition Patterson

https://ebookmeta.com/product/what-really-happens-in-vegas-true-
stories-of-the-people-who-make-vegas-vegas-1st-edition-patterson/

ebookmeta.com

The Healthy, Happy Gut Cookbook: Simple, Non-Restrictive


Recipes to Treat IBS, Bloating, Constipation and Other
Digestive Issues the Natural Way Dr. Heather Finley
https://ebookmeta.com/product/the-healthy-happy-gut-cookbook-simple-
non-restrictive-recipes-to-treat-ibs-bloating-constipation-and-other-
digestive-issues-the-natural-way-dr-heather-finley/
ebookmeta.com

Marketing Research Delivering Customer Insight 4th Edition


Alan Wilson

https://ebookmeta.com/product/marketing-research-delivering-customer-
insight-4th-edition-alan-wilson/

ebookmeta.com

Mastering Financial Pattern Recognition Finding and Back


Testing Candlestick Patterns with Python 1st Edition
Sofien Kaabar
https://ebookmeta.com/product/mastering-financial-pattern-recognition-
finding-and-back-testing-candlestick-patterns-with-python-1st-edition-
sofien-kaabar-2/
ebookmeta.com
Competition Cauldrons Conspiracy Moonflower Mystery 5 1st
Edition Beverly Rearick

https://ebookmeta.com/product/competition-cauldrons-conspiracy-
moonflower-mystery-5-1st-edition-beverly-rearick/

ebookmeta.com
Python for Data Analysis
Download from Wow! eBook <www.wowebook.com>

Wes McKinney

Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo


Python for Data Analysis
by Wes McKinney

Copyright © 2013 Wes McKinney. All rights reserved.


Printed in the United States of America.

Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions
are also available for most titles (http://my.safaribooksonline.com). For more information, contact our
corporate/institutional sales department: 800-998-9938 or [email protected].

Editors: Julie Steele and Meghan Blanchette Indexer: BIM Publishing Services
Production Editor: Melanie Yarbrough Cover Designer: Karen Montgomery
Copyeditor: Teresa Exley Interior Designer: David Futato
Proofreader: BIM Publishing Services Illustrator: Rebecca Demarest

October 2012: First Edition.

Revision History for the First Edition:


2012-10-05 First release
See http://oreilly.com/catalog/errata.csp?isbn=9781449319793 for release details.

Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of
O’Reilly Media, Inc. Python for Data Analysis, the cover image of a golden-tailed tree shrew, and related
trade dress are trademarks of O’Reilly Media, Inc.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as
trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a
trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and author assume
no responsibility for errors or omissions, or for damages resulting from the use of the information con-
tained herein.

ISBN: 978-1-449-31979-3

[LSI]

1349356084
Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

1. Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What Is This Book About? 1
Why Python for Data Analysis? 2
Python as Glue 2
Solving the “Two-Language” Problem 2
Why Not Python? 3
Essential Python Libraries 3
NumPy 4
pandas 4
matplotlib 5
IPython 5
SciPy 6
Installation and Setup 6
Windows 7
Apple OS X 9
GNU/Linux 10
Python 2 and Python 3 11
Integrated Development Environments (IDEs) 11
Community and Conferences 12
Navigating This Book 12
Code Examples 13
Data for Examples 13
Import Conventions 13
Jargon 13
Acknowledgements 14

2. Introductory Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.usa.gov data from bit.ly 17
Counting Time Zones in Pure Python 19

iii
Counting Time Zones with pandas 21
MovieLens 1M Data Set 26
Measuring rating disagreement 30
US Baby Names 1880-2010 32
Analyzing Naming Trends 36
Conclusions and The Path Ahead 43

3. IPython: An Interactive Computing and Development Environment . . . . . . . . . . . . 45


IPython Basics 46
Tab Completion 47
Introspection 48
The %run Command 49
Executing Code from the Clipboard 50
Keyboard Shortcuts 52
Exceptions and Tracebacks 53
Magic Commands 54
Qt-based Rich GUI Console 55
Matplotlib Integration and Pylab Mode 56
Using the Command History 58
Searching and Reusing the Command History 58
Input and Output Variables 58
Logging the Input and Output 59
Interacting with the Operating System 60
Shell Commands and Aliases 60
Directory Bookmark System 62
Software Development Tools 62
Interactive Debugger 62
Timing Code: %time and %timeit 67
Basic Profiling: %prun and %run -p 68
Profiling a Function Line-by-Line 70
IPython HTML Notebook 72
Tips for Productive Code Development Using IPython 72
Reloading Module Dependencies 74
Code Design Tips 74
Advanced IPython Features 76
Making Your Own Classes IPython-friendly 76
Profiles and Configuration 77
Credits 78

4. NumPy Basics: Arrays and Vectorized Computation . . . . . . . . . . . . . . . . . . . . . . . . . . 79


The NumPy ndarray: A Multidimensional Array Object 80
Creating ndarrays 81
Data Types for ndarrays 83

iv | Table of Contents
Operations between Arrays and Scalars 85
Basic Indexing and Slicing 86
Boolean Indexing 89
Fancy Indexing 92
Transposing Arrays and Swapping Axes 93
Universal Functions: Fast Element-wise Array Functions 95
Data Processing Using Arrays 97
Expressing Conditional Logic as Array Operations 98
Mathematical and Statistical Methods 100
Methods for Boolean Arrays 101
Sorting 101
Unique and Other Set Logic 102
File Input and Output with Arrays 103
Storing Arrays on Disk in Binary Format 103
Saving and Loading Text Files 104
Linear Algebra 105
Random Number Generation 106
Example: Random Walks 108
Simulating Many Random Walks at Once 109

5. Getting Started with pandas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


Introduction to pandas Data Structures 112
Series 112
DataFrame 115
Index Objects 120
Essential Functionality 122
Reindexing 122
Dropping entries from an axis 125
Indexing, selection, and filtering 125
Arithmetic and data alignment 128
Function application and mapping 132
Sorting and ranking 133
Axis indexes with duplicate values 136
Summarizing and Computing Descriptive Statistics 137
Correlation and Covariance 139
Unique Values, Value Counts, and Membership 141
Handling Missing Data 142
Filtering Out Missing Data 143
Filling in Missing Data 145
Hierarchical Indexing 147
Reordering and Sorting Levels 149
Summary Statistics by Level 150
Using a DataFrame’s Columns 150

Table of Contents | v
Other pandas Topics 151
Integer Indexing 151
Panel Data 152

6. Data Loading, Storage, and File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155


Reading and Writing Data in Text Format 155
Reading Text Files in Pieces 160
Writing Data Out to Text Format 162
Manually Working with Delimited Formats 163
JSON Data 165
XML and HTML: Web Scraping 166
Binary Data Formats 171
Using HDF5 Format 171
Reading Microsoft Excel Files 172
Interacting with HTML and Web APIs 173
Interacting with Databases 174
Storing and Loading Data in MongoDB 176

7. Data Wrangling: Clean, Transform, Merge, Reshape . . . . . . . . . . . . . . . . . . . . . . . . 177


Combining and Merging Data Sets 177
Database-style DataFrame Merges 178
Merging on Index 182
Concatenating Along an Axis 185
Combining Data with Overlap 188
Reshaping and Pivoting 189
Reshaping with Hierarchical Indexing 190
Pivoting “long” to “wide” Format 192
Data Transformation 194
Removing Duplicates 194
Transforming Data Using a Function or Mapping 195
Replacing Values 196
Renaming Axis Indexes 197
Discretization and Binning 199
Detecting and Filtering Outliers 201
Permutation and Random Sampling 202
Computing Indicator/Dummy Variables 203
String Manipulation 205
String Object Methods 206
Regular expressions 207
Vectorized string functions in pandas 210
Example: USDA Food Database 212

vi | Table of Contents
8. Plotting and Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
A Brief matplotlib API Primer 219
Figures and Subplots 220
Colors, Markers, and Line Styles 224
Ticks, Labels, and Legends 225
Annotations and Drawing on a Subplot 228
Saving Plots to File 231
matplotlib Configuration 231
Plotting Functions in pandas 232
Line Plots 232
Bar Plots 235
Histograms and Density Plots 238
Scatter Plots 239
Plotting Maps: Visualizing Haiti Earthquake Crisis Data 241
Python Visualization Tool Ecosystem 247
Chaco 248
mayavi 248
Other Packages 248
The Future of Visualization Tools? 249

9. Data Aggregation and Group Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251


GroupBy Mechanics 252
Iterating Over Groups 255
Selecting a Column or Subset of Columns 256
Grouping with Dicts and Series 257
Grouping with Functions 258
Grouping by Index Levels 259
Data Aggregation 259
Column-wise and Multiple Function Application 262
Returning Aggregated Data in “unindexed” Form 264
Group-wise Operations and Transformations 264
Apply: General split-apply-combine 266
Quantile and Bucket Analysis 268
Example: Filling Missing Values with Group-specific Values 270
Example: Random Sampling and Permutation 271
Example: Group Weighted Average and Correlation 273
Example: Group-wise Linear Regression 274
Pivot Tables and Cross-Tabulation 275
Cross-Tabulations: Crosstab 277
Example: 2012 Federal Election Commission Database 278
Donation Statistics by Occupation and Employer 280
Bucketing Donation Amounts 283
Donation Statistics by State 285

Table of Contents | vii


10. Time Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Date and Time Data Types and Tools 290
Converting between string and datetime 291
Time Series Basics 293
Indexing, Selection, Subsetting 294
Time Series with Duplicate Indices 296
Date Ranges, Frequencies, and Shifting 297
Generating Date Ranges 298
Frequencies and Date Offsets 299
Shifting (Leading and Lagging) Data 301
Time Zone Handling 303
Localization and Conversion 304
Operations with Time Zone−aware Timestamp Objects 305
Operations between Different Time Zones 306
Periods and Period Arithmetic 307
Period Frequency Conversion 308
Quarterly Period Frequencies 309
Converting Timestamps to Periods (and Back) 311
Creating a PeriodIndex from Arrays 312
Resampling and Frequency Conversion 312
Downsampling 314
Upsampling and Interpolation 316
Resampling with Periods 318
Time Series Plotting 319
Moving Window Functions 320
Exponentially-weighted functions 324
Binary Moving Window Functions 324
User-Defined Moving Window Functions 326
Performance and Memory Usage Notes 327

11. Financial and Economic Data Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329


Data Munging Topics 329
Time Series and Cross-Section Alignment 330
Operations with Time Series of Different Frequencies 332
Time of Day and “as of” Data Selection 334
Splicing Together Data Sources 336
Return Indexes and Cumulative Returns 338
Group Transforms and Analysis 340
Group Factor Exposures 342
Decile and Quartile Analysis 343
More Example Applications 345
Signal Frontier Analysis 345
Future Contract Rolling 347

viii | Table of Contents


Rolling Correlation and Linear Regression 350

12. Advanced NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353


ndarray Object Internals 353
NumPy dtype Hierarchy 354
Advanced Array Manipulation 355
Reshaping Arrays 355
C versus Fortran Order 356
Concatenating and Splitting Arrays 357
Repeating Elements: Tile and Repeat 360
Fancy Indexing Equivalents: Take and Put 361
Broadcasting 362
Broadcasting Over Other Axes 364
Setting Array Values by Broadcasting 367
Advanced ufunc Usage 367
ufunc Instance Methods 368
Custom ufuncs 370
Structured and Record Arrays 370
Nested dtypes and Multidimensional Fields 371
Why Use Structured Arrays? 372
Structured Array Manipulations: numpy.lib.recfunctions 372
More About Sorting 373
Indirect Sorts: argsort and lexsort 374
Alternate Sort Algorithms 375
numpy.searchsorted: Finding elements in a Sorted Array 376
NumPy Matrix Class 377
Advanced Array Input and Output 379
Memory-mapped Files 379
HDF5 and Other Array Storage Options 380
Performance Tips 380
The Importance of Contiguous Memory 381
Other Speed Options: Cython, f2py, C 382

Appendix: Python Language Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

Table of Contents | ix
Preface

The scientific Python ecosystem of open source libraries has grown substantially over
the last 10 years. By late 2011, I had long felt that the lack of centralized learning
resources for data analysis and statistical applications was a stumbling block for new
Python programmers engaged in such work. Key projects for data analysis (especially
NumPy, IPython, matplotlib, and pandas) had also matured enough that a book written
about them would likely not go out-of-date very quickly. Thus, I mustered the nerve
to embark on this writing project. This is the book that I wish existed when I started
using Python for data analysis in 2007. I hope you find it useful and are able to apply
these tools productively in your work.

Conventions Used in This Book


The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements
such as variable or function names, databases, data types, environment variables,
statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values deter-
mined by context.

This icon signifies a tip, suggestion, or general note.

xi
This icon indicates a warning or caution.

Using Code Examples


This book is here to help you get your job done. In general, you may use the code in
this book in your programs and documentation. You do not need to contact us for
permission unless you’re reproducing a significant portion of the code. For example,
writing a program that uses several chunks of code from this book does not require
permission. Selling or distributing a CD-ROM of examples from O’Reilly books does
require permission. Answering a question by citing this book and quoting example
code does not require permission. Incorporating a significant amount of example code
from this book into your product’s documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title,
author, publisher, and ISBN. For example: “Python for Data Analysis by William Wes-
ley McKinney (O’Reilly). Copyright 2012 William McKinney, 978-1-449-31979-3.”
If you feel your use of code examples falls outside fair use or the permission given above,
feel free to contact us at [email protected].

Safari® Books Online


Safari Books Online (www.safaribooksonline.com) is an on-demand digital
library that delivers expert content in both book and video form from the
world’s leading authors in technology and business.
Technology professionals, software developers, web designers, and business and cre-
ative professionals use Safari Books Online as their primary resource for research,
problem solving, learning, and certification training.
Safari Books Online offers a range of product mixes and pricing programs for organi-
zations, government agencies, and individuals. Subscribers have access to thousands
of books, training videos, and prepublication manuscripts in one fully searchable da-
tabase from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley
Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John
Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT
Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Tech-
nology, and dozens more. For more information about Safari Books Online, please visit
us online.

xii | Preface
How to Contact Us
Please address comments and questions concerning this book to the publisher:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (in the United States or Canada)
707-829-0515 (international or local)
707-829-0104 (fax)
We have a web page for this book, where we list errata, examples, and any additional
information. You can access this page at http://oreil.ly/python_for_data_analysis.
To comment or ask technical questions about this book, send email to
[email protected].
For more information about our books, courses, conferences, and news, see our website
at http://www.oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://www.youtube.com/oreillymedia

Preface | xiii
Other documents randomly have
different content
Ketling tunsi, että hänen oli aika mennä, mutta hän ei liikahtanut
paikaltaan. Hänen kalpeat huulensa liikkuivat, mutta eivät saaneet
lausutuksi sanaakaan.

Hän tahtoi langeta tytön jalkoihin ja pyytää anteeksi, mutta tunsi


toiselta puolen, että tällä oli yllin kyllin kantamista omassa
onnettomuudessaan. Viimein hän kumarsi ja poistui ääneti, mutta
heti käytävään tultuaan hän repäisi siteen avoimelta haavaltaan ja
kaatui tajuttomana. Tunnin kuluttua palatsin vartija löysi hänet ja
toimitti hoitoon, mutta nuori upseeri sairastui pahoin eikä voinut
kahteen viikkoon nousta vuoteesta.

Ketlingin mentyä Oleńka oli jonkin aikaa aivan ymmällä. Kieltävä


vastaus oli hänelle täydellinen yllätys, ja siksi hän ensihetkellä, niin
voimakas kuin — olikin, tunsi olevansa vain heikko nainen, ja vaikka
hän toistelikin itsekseen: "Tapahtukoon Jumalan tahto!" niin vuolaat
kyynelet alkoivat tulvia hänen silmistään.

Huoneeseen tuli miekankantaja ja nähtyään tytön arvasi heti, että


tällä oli ikävä uutinen kerrottavana. Hän kysyi vilkkaasti:

— Herran tähden, mitä kuuluu?

— Ketling kieltäytyy, — vastasi tyttö.

— Kaikki ne ovat roistoja ja lurjuksia! Kuinka! Eikö hän siis tahdo


auttaa?

— Hän ei vain ole auttamatta, — sanoi tyttö kiukutellen kuin pieni


lapsi, — vaan sanoopa vielä estävänsäkin sen, vaikkapa henkensä
uhalla.

— Miksi, Herran nimessä?


— Semmoinen on kohtalomme. Me olemme onnettomimmat
kaikista ihmisistä!

— Surmatkoon salama nuo kaikki vääräuskoiset! — huusi


miekankantaja. —
Ei ole kunnon ihmisten elämistä tämmöisinä aikoina!

Hän alkoi kävellä kiivaasti edestakaisin huoneessa ja puida


nyrkkiään.
Viimein hän sanoi kiristellen hampaitaan:

— Mieluummin olisin tekemisissä Vilnon vojevodan kanssa, tuhat


kertaa mieluummin vaikkapa Kmicicin kanssa kuin noiden kauniiksi
maalattujen lurjusten, joilla ei ole kunniaa eikä omaatuntoa!

Kun Oleńka ei vastannut mitään, vaan alkoi yhä katkerammin


itkeä, tuli miekankantaja lempeämmäksi ja alkoi puhua:

— Älä itke! Kmicic tuli mieleeni vain sen vuoksi, että hän edes
kykenisi vapauttamaan meidät tästä Babylonian vankeudesta. Kyllä
hän näyttäisi noille kaikille Brauneille, Ketlingeille, Patersoneille ja
itse Boguslawillekin! Ne ovat kaikki samanlaisia pettureita! Älä itke,
ei itku mitään auta! Tässä täytyy keksiä neuvot. Koska Ketling ei
tahdo auttaa hitto hänet vieköön! — niin meidän on tultava omin
neuvoin toimeen. Sinulla on muka miehuullinen mieli, mutta tärkeällä
hetkellä et osaa muuta kuin nyyhkyttää. Kyllä me selviydymme!

Oleńka pyyhki silmänsä.

— Luuletteko, että onnistumme? — kysyi hän.

— Luulen, että on välttämätöntä, ja koska on välttämätöntä, niin


on mahdollistakin, vaikkapa vaikeudet näyttäisivät millaisilta.
— Tein pahasti, kun itkin, — sanoi Oleńka. — Ryhtykäämme
mahdollisimman pian miettimään!

Kyynelet olivat kokonaan kuivuneet hänen silmistään, ja


kulmakarvat saivat hänen ajatellessaan entisen tarmoa ilmaisevan
asentonsa.

Kauan tuumittuaan he päättivät olla ryhtymättä mihinkään,


ennenkuin ensimmäiset tiedot Boguslawista saapuisivat Taurogiin.
He panivat toivonsa siihen, että Jumala rankaisee isänmaanpetturia
ja tunnotonta miestä. Hän saattoi kaatua, saattoi sairastua, Sapieha
saattoi voittaa hänet, ja silloin syntyisi Taurogissa hämmennystä,
eikä heitä vartioitaisi yhtä tarkasti kuin nyt.

He alkoivat odottaa, mutta kului kuukausi, pitkä ja ikävä aika


odottaville, ennenkuin saapui ensimmäinen sanantuoja, eikä
häntäkään oltu lähetetty Taurogiin, vaan Stenbockin luo Preussiin.

Ketling, joka viimeisen keskustelun jälkeen ei uskaltanut


näyttäytyä
Oleńkalle, lähetti hänelle heti kirjelipun, jossa ilmoitettiin:

"Ruhtinas Boguslaw on voittanut Krzysztof Sapiehan Branskin


luona.
Muutamia rykmenttejä jalka- ja ratsuväkeä on otettu vangiksi. Hän
menee
Tykocinia vastaan, missä on Horotkiewicz."

Se vaikutti Oleńkaan kuin ukkosen isku. Suuri sotapäällikkö ja


taitava ritari olivat hänen tyttömäisen käsityksensä mukaan sama
asia. Koska hän oli nähnyt Boguslawin Taurogissa helposti saavan
voiton parhaista ritareista, niin hänestä oli selvää, että Boguslaw
edusti ilkeätä, mutta voittamatonta mahtia, jota vastaan muut
turhaan taistelivat.

Hänessä sammui kokonaan toivo, että Boguslaw joutuisi tappiolle.


Turhaan miekankantaja koetti rauhoittaa häntä ja lohdutti sillä, että
ruhtinas ei ollut vielä joutunut tekemisiin vanhan herra Sapiehan
kanssa, jonka kykyä todisti sekin, että kuningas äskettäin oli antanut
hänelle hetmanin arvon. Oleńka ei uskonut, ei uskaltanut uskoa. —
Kuka hänet voi voittaa? Kuka riittää hänelle? — vastasi hän vain.

Myöhemmät sanomat näyttivät osoittavan hänen pelkonsa


aiheelliseksi.

Muutamaa päivää myöhemmin Ketling taas lähetti kirjelipun, jossa


ilmoitettiin, että Horotkiewicz oli lyöty ja Tykocin valloitettu. "Koko
Podlasie", kirjoitti hän, "on ruhtinaan vallassa, joka ei odota herra
Sapiehaa, vaan nopeasti rientää tätä vastaan".

— Herra Sapieha joutuu myös tappiolle, — ajatteli tyttö.

Mutta samaan aikaan lensi kuin kevättä ennustava pääskynen


sanoma toisaalta päin. Näihin lähellä meren rantaa oleviin
valtakunnan osiin se tuli myöhään, mutta sen sijaan niin ihanana ja
ihmeellisenä kuin legendat kristittyjen ensimmäisiltä ajoilta:

— Częstochowo! Częstochowo! — kulki suusta suuhun.

Sydänten jää suli, ja oli kuin kukat olisivat puhjenneet


kevätauringon lämmittämään maahan. Częstochowo piti puolensa.
Hänet itsensä, Puolan Kuningatar, nähtiin suojelemassa muuria
taivaallisella viitallaan; kranaatit ryömivät hänen pyhien jalkainsa
juureen kuin koirat, ruotsalaisten kädet kuivettuivat, musketit
kasvoivat kiinni heidän kasvoihinsa ja he poistuivat häveten ja
peläten.

Kuullessaan tämän sanoman toisilleen tuntemattomat ihmiset


syleilivät toisiaan ilosta itkien. Toiset valittivat sitä, että sanoma tuli
niin myöhään.

— Me olemme eläneet täällä niin kauan itkussa, — sanoivat he, —


me olemme eläneet surussa ja murheessa, kun olisi pitänyt riemuita!

Sitten alkoi kuulua kohina yli koko valtakunnan Mustalta mereltä


Itämereen niinkuin molempien merten aaltojen pauhu. Uskollinen ja
hurskas kansa nousi puolustamaan Kuningatartaan. Kaikkiin
sydämiin syttyi toivo, kaikki silmät alkoivat säihkyä. Se, mikä tähän
asti oli näyttänyt peloittavalta ja voittamattomalta, pieneni silmissä.

— Kuka voittaa Boguslawin? — puhui miekankantaja tytölle. —


Kuka hänelle riittää? Nyt tiedät kuka! Pyhä Neitsyt!

Boguslawista ei pitkiin aikoihin kuulunut kerrassaan mitään. Oli


aivan kuin hän olisi sotajoukkoineen uponnut mereen. Taurogiin
jääneet upseerit alkoivat olla levottomia sekä pitää tulevaisuuttaan
epävarmana. Parempi olisi ollut mikä sanoma tahansa ruhtinaan
kohtalosta kuin tämä täydellinen äänettömyys. Mutta mikään tieto ei
voinut saapua perille, sillä juuri siihen aikaan hirveä Babinicz
tataarilaisineen ahdisti ruhtinasta ja otti kiinni kaikki hänen
sanansaattajansa.
KUUDES LUKU,

Eräänä päivänä saapui Taurogiin muutamien kymmenien


sotamiesten saattamana neiti Anna Borzobohata.

Braun otti hänet sangen ystävällisesti vastaan, koska niin oli pakko
tehdä, sillä niin määräsi Sakowicz kirjeessä, jonka Boguslaw itse oli
allekirjoittanut ja jossa ruhtinatar Gryzelda Wisniowieckin hovineidille
käskettiin osoittamaan kaikkea kunnioitusta. Neiti Anna oli reippaalla
mielellä ja alkoi heti tulostaan asti heitellä Brauniin semmoisia
silmäyksiä, että juro saksalaisparka kulki kuin tulisilla hiilillä. Muitakin
upseereita neiti Anna alkoi komennella ja oli Taurogissa kuin
kotonaan. Jo ensimmäisenä iltana hän tutustui Oleńkaan, joka tosin
katseli häntä epäluuloisesti, mutta otti hänet vastaan kohteliaasti
toivoen saavansa kuulla uutisia.

Anusialla ei niistä ollut puutetta. Keskustelu alkoi Częstochowosta,


sillä siitä olivat Taurogin vangit halukkaimmat kuulemaan.
Miekankantaja pani ihan kädet korvien taakse, että sanaakaan ei
menisi häneltä hukkaan, ja väliin hän aina keskeytti Anusian
kertomuksen huudahtamalla:

— Kunnia Jumalalle korkeudessa!


— Ihmettelen sitä, — sanoi Anusia viimein, — että vasta äsken
olette kuulleet näistä Pyhän Neitsyen ihmeistä, sillä se on jo vanha
asia, ja minä olin silloin vielä Zamośćiessa eikä herra Babinicz vielä
ollut tullut minua hakemaan… Sitten alettiin kaikkialla lyödä
ruotsalaisia, sekä Suur-Puolassa että meillä, ja kaikkein pahimmin
heitä pieksi herra Czarniecki, jonka pelkkä nimi jo saa heidät
pakenemaan.

— Ahaa! Herra Czarniecki! — huudahti miekankantaja hieroen


käsiään. — Hän antaa heille pippuria! Kuulin jo Ukrainassa häntä
mainittavan suureksi soturiksi.

— Jo ovat kruunun hetmanitkin ryhtyneet taistelemaan ruotsalaisia


vastaan, — jatkoi Anusia, — ja liitto on tehty Tyszowcyssa ja
kuningas on siihen yhtynyt ja universaaleja on annettu ja
talonpojatkin ahdistelevat ruotsalaisia… ja Pyhä Neitsyt antaa
siunauksensa.

Hänen puheensa oli kuin linnun liverrystä, ja se liverrys sai


miekankantajan kokonaan heltymään. Vaikka hän tunsi osan noista
uutisista, niin hän kuitenkin mylvähteli ilosta kuin puhvelihärkä.
Oleńkan poskia pitkin virtailivat kyynelet.

Sen nähdessään Anusia, jolla oli hyvä sydän, hypähti heti Oleńkan
luo, kietoi kätensä hänen kaulaansa ja sanoi:

— Älkää itkekö… Minun on teitä sääli enkä voi teitä katsella…


Mitä te itkette?

Hänen äänensä oli niin vilpitön, että Oleńkan epäluuloisuus haihtui


kokonaan.
— Itken ilosta, — vastasi Oleńka, — mutta murheestakin, sillä me
olemme täällä raskaassa vankeudessa, emme voi hetkeäkään olla
turvalliset…

— Kuinka? Ruhtinas Boguslawin luona?

— Tuon petturin ja vääräuskoisen luona! — huudahti


miekankantaja.

— Sama on minunkin kohtaloni, — sanoi Anusia, — mutta minä


en silti itke. En kiellä, että ruhtinas on petturi ja kerettiläinen, mutta
hän on hieno ritari ja pitää arvossa naisia.

— Kunpa häntä helvetissä pidettäisiin samalla tavalla arvossa! —


vastasi miekankantaja. — Te ette häntä vielä tunne, sillä hän ei ole
ahdistellut teitä sillä tavoin kuin tätä tyttöä. Hän on oikein lurjusten
lurjus, ja tuo Sakowicz on toinen! Suokoon Jumala, että herra
Sapieha antaisi molemmille aika kyydin!

— Jos antaa, niin antaa… Ruhtinas Boguslaw on varsin sairas,


eikä hänen sotajoukkonsa ole erikoisen suuri. Totta on, että hän
eteni nopeasti ja hajoitti muutamia rykmenttejä ja, otti valtaansa
Tykocinin ja minut, mutta ei hän riitä Sapiehan voimille. Voitte uskoa
minua, sillä olen nähnyt molemmat sotajoukot.

— Näetkö nyt? Mitä sanoinkaan sinulle? — sanoi miekankantaja


Oleńkalle.

— Ruhtinas Boguslawin tunnen vanhoilta ajoilta, — jatkoi Anusia.


— Hän on sukua Wisniowieckeille ja Zamoyskeille. Hän kävi kerran
luonamme Lubnyssa, silloin kun ruhtinas Jeremi lähti retkelle
tataarilaisia vastaan. Senpä vuoksi hän nyt käskikin osoittamaan
minulle kunnioitusta, sillä hän muisti, että olin talon väkeä ja
ruhtinattaren suosikki. Olin silloin pieni lapsi, en tämmöinen kuin nyt.
Hyvä Jumala! Kukapa silloin olisi voinut aavistaa, että hänestä tulee
isänmaanpetturi! Mutta älkää olko levottomia, sillä joko hän nyt ei
palaa tänne tahi me jotenkuten neuvottelemme itsemme täältä pois.

— Jo me koetimme! — sanoi Oleńka.

— Eikö se onnistunut?

— Kuinka se olisi voinut onnistua? — vastasi miekankantaja. —


Lyöttäydyimme erääseen upseeriin, jolta luulimme saavamme apua,
mutta
hän oli valmiimpi estämään kuin auttamaan. Vanhin upseereista on
tuo
Braun, ja sitähän ei itse pirukaan suostuta.

Anusia loi silmänsä alas.

— Ehkäpä minä onnistuisin, — sanoi hän. — Herra Sapiehan vain


pitäisi tulla näille seuduille, jotta olisi mihin turvautua.

— Suokoon Jumala, että hän tulisi mahdollisimman pian! — lausui


miekankantaja. — Hänen miestensä joukossa on paljon
sukulaisiamme, tuttujamme ja ystäviämme. Siellä ovat myös entiset
sotatoverini Wolodyjowski, Skrzetuski ja Zagloba.

— Minä tunnen heidät, — sanoi Anusia ihmeissään, — mutta he


eivät ole herra Sapiehan armeijassa. Ah, kunpa he olisivatkin olleet
siellä, varsinkin herra Wolodyjowski (sillä herra Skrzetuski on
naimisissa), niin en minä olisi täällä, sillä hän ei olisi antanut saartaa
itseään niinkuin herra Kotczyc.
— Eiväthän he vain liene kaatuneet, kun ette nähnyt heitä?

— Ei, ei! — vastasi Anusia. — Niin kuuluisien ritarien kuolemasta


olisi puhuttu, mutta minä en kuullut mitään. Ei heille kukaan mitään
voi. Vaikka herra Michal on pieni, niin ruhtinas Jeremi kuitenkin
sanoi, että jos koko valtakunnan kohtalo riippuisi taistelusta mies
miestä vastaan, niin hän valitsisi taisteluun herra Michalin.

Miekankantaja oli tyytyväinen, kun oli saanut puhetoverin, käveli


huoneessa pitkin askelin ja kysyi:

— Te siis tunnette hyvin herra Michalin!

— Kyllä, olemme monta vuotta olleet yhdessä.

— Varmaankaan se ei mennyt ilman rakastumista?

— Se ei ole minun syyni, — sanoi Anusia heittäytyen


vaatimattoman näköiseksi.

— Mutta se minua surettaa, että nuo miehet eivät ole hetmanin


joukossa, sillä sellaisten sotilaitten avulla olisi helpompi voittaa.

— Siellä on eräs, joka korvaa ne kaikki.

— Kuka se on?

— Herra Babinicz Witebskin vojevodakunnasta. Olette kai kuullut


hänestä?

— En ollenkaan, ja se minusta on kummallista.

Anusia kertoi lähdöstään Zamośćiesta ja kaikesta, mitä matkalla


tapahtui. Babinicz kasvoi hänen kertomuksessaan niin suureksi
sankariksi, että miekankantaja rupesi vakavasti miettimään, kuka se
voisi olla.

— Minähän tunnen koko Liettuan, — sanoi hän. — Siellä on


sukuja, joiden nimet ovat sentapaisia: Babilleja, Babinowskeja,
Babinskeja ja niin edespäin, mutta Babiniczeista en ole kuullut.
Luulenpa, että se on valenimi. Hm! Babinicz!… Mahtaa olla nokkela
ritari, kun osasi tehdä kepposet Zamoyskillekin.

— Ah, hän on suurenmoinen! — huudahti Anusia.

Miekankantaja tuli hyvälle tuulelle.

— Niinkö? — sanoi hän asettuen kädet puuskassa Anusian eteen.

— Kenties te ajattelette, mene tiedä, mitä kaikkea? — sanoi


Anusia.

— Hyväinen aika, mitä minä ajattelisin?

— Mutta Babinicz kertoi minulle heti Zamośćiesta lähdettyämme,


että hänen sydämensä on saanut eräs toinen. Hän mahtaa olla
korvia myöten rakastunut. Ehkäpä hänestä piankin kuulemme.

— Suokoon Jumala!

— Minä sanon teille, miksi luulen niin… Joka kerta nimittäin, kun
tuo
Babinicz mainitsi ruhtinas Boguslawin, hän kalpeni ja puri
hammasta.

— Silloin meistä tulee ystävät! — sanoi miekankantaja.


— Varmasti!… Ja hänen turviinsa pakenemme, jos hän tänne
ilmestyy.

He puhelivat vielä kauan, ja puhe muuttui yhä iloisemmaksi, niin


että Oleńkakin suureksi osaksi unhotti murheensa. Anusia oli
viimeisessä yöpymispaikassa levännyt riittävästi ja poistui vasta
myöhään yöllä.

Pian nuoret tytöt tulivat hyviksi ystäviksi, ja ystävyys vahvistui


päivä päivältä, mahdollisesti senkin vuoksi, että he luonteiltaan olivat
toistensa täydellisiä vastakohtia.

Ketling, jolla oli skotlantilaisen vuoristolaisen surumielinen sielu,


kunnioitti ja jumaloi Oleńkaa, mutta alkoi ensi hetkestä asti tuntea
vastenmielisyyttä Anusiaa kohtaan. Tämä puolestaan maksoi
samalla mitalla ja etsi tappionsa korvausta Braunilta ja muilta
upseereilta jättämättä huomioonottamatta edes
miekankantajaakaan.

Turhaan koetti Oleńka saada uuden ystävättärensä parannetuksi


kevytmielisyydestä. Anusian kuhertelu upseerien kanssa suretti
Oleńkaa sitäkin enemmän, kun Anusia muutaman päivän
tuttavuuden jälkeen tunnusti hänelle tuntevansa lämpimiä tunteita
Babiniczia kohtaan. He puhuivat hänestä usein.

— Toiset huokailevat, — selitteli Anusia, — mutta tämä huusi vain


tataarilaisilleen eikä katsahtanutkaan minuun, ja jos puhui, niin aina
käskevästi: "Nouskaa, neiti! Syökää! Juokaa!" Kunpa hän samalla
olisi ollut epäkohtelias, mutta sitä hän ei ollut, enkä myöskään voi
sanoa, että hän ei olisi pitänyt minusta huolta! Krasny Stawissa
päätin: "Koska et välitä katsoakaan minuun, niin maltahan!" Mutta
jonkin ajan kuluttua tunsin jo oloni pahaksi. Sanonpa sinulle, että
vain katsoin katsomistani hänen harmaisiin silmiinsä, ja kun hän
naurahti, niin ilo valtasi minunkin sydämeni, aivan kuin olisin ollut
hänen orjansa…

Oleńka painoi päänsä alas, sillä hänkin muisti harmaat silmät.


Sekin harmaasilmäinen mies puhui samalla lailla ja aina käskevästi
sekä oli toiminnan mies, mutta hänellä ei ollut omaatuntoa eikä hän
pelännyt Jumalaa.

Mutta Anusia jatkoi viehättyneenä muistelemaan:

— Kun hän kiiti kedolla komentosauva kädessä, niin hän oli


minusta kuin hetmani. Tataarilaiset pelkäsivät häntä pahemmin kuin
tulta. Paljon näin Lubnyssa uljaita ritareita, mutta en koskaan
sellaista, jota olisin pelännyt.

— Jos Jumala on määrännyt hänet sinulle, niin sinä saat hänet,


mutta sitä en jaksa uskoa, että hän ei olisi sinua rakastanut.

— Kyllähän hän tavallaan minua rakastikin… hiukan vain… Hän


itse puhui minulle: "On onni teille, neiti, että minä en voi unhottaa
enkä lakata rakastamasta, sillä muussa tapauksessa olisi parempi
panna susi lampaan kaitsijaksi kuin uskoa minun haltuuni
tämmöinen tyttö."

— Mitä sinä hänelle siihen vastasit?

— Sanoin hänelle: "Mistä te tiedätte, että saisitte vastarakkautta?"


Mutta hän vastasi: "En minä kysyisikään!" Mitä tuommoiselle voi
tehdä?… Tyhmä se oli, joka ei häntä lempinyt, ja kova sydän sillä on.
Kysyin häneltä, mikä on hänen lemmittynsä nimi, mutta hän ei
sanonut. "Parasta on", — sanoi hän, — "olla kajoamatta siihen, sillä
se on kipeä kohta, ja toinen kipeä kohta on Radziwillit… petturit!" Ja
tämän sanottuaan hän tuli niin peloittavan näköiseksi, että olisin
tahtonut painua maan alle. Minä suoraan sanoen pelkäsin häntä…
Mutta mitäpä tästä, ei hän ole minua varten, ei ole!

— Rukoile häntä pyhältä Nikolaukselta! Tätini sanoo, että tämä on


semmoisissa asioissa paras suojelija. Katso vain, että et vihastuta
häntä, kun panet muitten päitä pyörälle!

— En minä enää! Vain pikkuisen, tuon verran! Anusia näytti


sormellaan, että hän ei harjoita veikistelyä kuin noin puolen kynnen
verran, jotta pyhä Nikolaus ei vihastuisi.

— Enhän minä tee sitä vain omavaltaisuudessani! — puolusteli


hän itseään miekankantajan edessä, joka myös paheksui hänen
haluaan saada miesten päät pyörälle. — Minun täytyy niin menetellä,
sillä jos nuo upseerit eivät auta meitä, niin me emme pääse täältä
koskaan pakenemaan.

— Pyh! Braun ei koskaan suostu meitä päästämään.

— Braunin olen jo lumonnut! — vastasi Anusia vienolla äänellä ja


luoden silmänsä alas.

— Entä Fitz-Gregory?

— Hänen laitansa on samoin! — vastasi tyttö vielä hiljempaa.

— Von Irben?

— Samoin!
— Tepä vasta olette!… Nähtävästi siis vain Kettingistä ei teidän
ole onnistunut selviytyä!

— En voi häntä sietää! Mutta hänestä selviytyy joku muu. Muuten


asia järjestyy ilman häntäkin.

— Ja te luulette, että he eivät pane esteitä, jos pakenemme?

— Tulevat mukaan! — vastasi Anusia viskaten päätään ja


vilkuttaen silmiään.

— Miksi sitten, Herran nimessä, istumme täällä? Olisin halukas


lähtemään vaikkapa jo tänään! —

Ryhdyttiin heti neuvottelemaan, mutta tulokseksi tuli, että täytyi


odottaa, kunnes Boguslawin kohtalo ratkaistaisiin ja Sapieha tulisi
Samogitiaan. Muuten saattoi uhata kaamea tuho omienkin puolelta.
Vierasmaalaiset upseerit eivät olleet mikään turva, vaan tekivät
päinvastoin vaaran vielä suuremmaksi, sillä rahvas oli niin vihainen
kaikille ulkomaalaisille, että se armotta surmasi jokaisen, joka ei ollut
puolalaisessa puvussa. Ulkomaalaisissa puvuissa olevat puolalaiset
arvohenkilöt, puhumattakaan itävaltalaisista ja ranskalaisista
diplomaateista, eivät voineet matkustaa muuten kuin vahvojen
sotaväkiosastojen turvissa.

— Uskokaa minua, sillä minä olen kulkenut läpi koko maan, —


sanoi Anusia. — Ensimmäisessä kylässä tahi metsässä meidät
surmataan kysymättä keitä me olemme. Ei voi paeta, jos ei ole
turvana sotajoukko.

— Minä kokoan oman joukon!


— Ennenkuin sen olette saanut toimeen, olette jo menettänyt
henkenne.

— Tietoja ruhtinas Boguslawista täytyy piakkoin saapua.

— Olen käskenyt Braunia ilmoittamaan heti kaikesta.

Braunilta ei kuitenkaan pitkään aikaan tullut minkäänlaista


ilmoitusta.

Ketling sen sijaan alkoi taas käydä Oleńkan puheilla, sillä kun he
kerran olivat kohdanneet toisensa, oli tyttö ojentanut hänelle
kätensä. Nuori upseeri piti hiljaisuutta pahana merkkinä. Hänen
mielestään ruhtinas jo ruotsalaisten ja vaaliruhtinaan takia olisi
pitänyt ääntä pienestäkin voitosta.

— En luule, että hän jo on kärsinyt täydellistä tappiota, — sanoi


Ketling, — mutta aivan varmaan hän on tukalassa asemassa, josta
on vaikea pelastua.

Muutaman päivän kuluttua tämän keskustelun jälkeen saapui


uutisia. Saatiin tietää, että ruhtinas Boguslawin asema oli toivoton,
sotajoukko väsynyt, ruokavarat lopussa ja peloittava vihollinen
ahdistamassa yötä päivää. Ruhtinaan lähetti, joka oli matkalla
Preussiin pyytämään apua ja nyt oli poikennut Taurogiin, antoi niin
yksityiskohtaisia tietoja tapahtumain kulusta, että Anusia heti
ymmärsi ruhtinaan leppymättömän ahdistajan olevan Babiniczin.

— Mitä minä sanoin? — puhui Anusia miekankantajalle ja


Oleńkalle. — Kuka pani ruhtinas Boguslawin noin ahtaalle? Herra
Sapiehako? Vielä mitä! Kuka samalla lailla tuottaa tuhoa
ruotsalaisille? Kuka antaa ansaitun palkan pettureille? Kuka on
urhoollisin ritari, suurin sankari? Herra Andrzej!

Herra Andrzej!

— Mikä herra Andrzej? — kysyi Oleńka kalveten.

— Enkö kertonutkaan sinulle, että hänen nimensä on Andrzej?


Hän itse sanoi sen minulle. Herra Babinicz, herra Babinicz! Eläköön
herra Babinicz! Mikä sinun on, Oleńka?

Neiti Billewicz pyyhkäisi kädellään kasvojaan aivan kuin


karkoittaakseen pahan ajatuksen.

— Ei mitään! — vastasi hän. — Oli muuan, joka tarjoutui


myymään kuninkaamme elävänä tahi kuolleena ruotsalaisille tahi
ruhtinas Boguslawille, ja hänenkin nimensä oli… Andrzej.

— Jumala häntä rangaiskoon! — huudahti miekankantaja. —


Mitäpä me muistelemme pettureita yötä vastaan! Iloitkaamme
mieluummin, kun kerran on syytä!

— Kunhan Babinicz vain pian saapuisi tänne! — lisäsi Anusia. —


Kas niin! Minä panen tahallani nyt Braunin pään aivan pyörälle, jotta
hän saattaisi koko miehistön tekemään kapinan ja siirtyisi miehineen
ja hevosineen ja meidät mukanaan vieden Babiniczin puolelle.

— Tehkää niin, neiti, tehkää niin! — huusi miekankantaja


innostuen.

— Sitten laputtakoot saksalaiset tiehensä… Ehkäpä hänkin


unhottaa tuon arvottoman ja minuun rakast…
Hän peitti kasvonsa käsillään, mutta äkkiä näytti jokin ajatus
välähtävän hänen päähänsä, hän löi vihaisesti kantapäitään yhteen
ja sanoi:

— Mutta jos ei, niin minä otan herra Wolodyjowskin!


SEITSEMÄS LUKU.

Kaksi viikkoa myöhemmin oli koko Taurogi mullin mallin. Eräänä


iltana saapui epäjärjestyksessä Boguslawin sotilaita
kolmenkymmenen tahi neljänkymmenen miehen suuruisissa
joukoissa uupuneina, repaleisina, enemmän aaveitten kuin ihmisten
kaltaisina, ja he toivat tiedon Boguslawin tappiosta Janowon luona.
Taistelussa oli menetetty kaikki: sotajoukko, tykit, hevoset,
kuormasto. Kuusituhatta miestä valiojoukkoa oli lähtenyt ruhtinaan
kanssa tälle sotaretkelle, mutta takaisin tuli vain neljäsataa
ratsumiestä, jotka ruhtinas oli johtanut pois taistelun tuoksinasta.

Puolalaisista ei palannut kukaan muu kuin Sakowicz, sillä kaikki


ne, jotka eivät olleet kaatuneet taistelussa tahi jotka eivät olleet
joutuneet hirmuisen Babiniczin käsiin, olivat menneet herra
Sapiehan puolelle. Myöskin monet ulkomaalaiset upseerit seurasivat
vapaaehtoisesti voittajaa. Sanalla sanoen, ei koskaan vielä ollut
yksikään Radziwill palannut sotaretkeltä näin voitettuna ja
nöyryytettynä.

Niinkuin imartelevat hovilaiset aikaisemmin määrättömästi olivat


ahdistelleet Boguslawia sotapäällikkönä, samoin nyt kaikkien huulet
nurkuivat ja moittivat huonoa sodan järjestelyä. Kiihtymys armeijan
jäännösten keskuudessa kohosi lopulta niin suureksi ja aiheutti
sellaista epäjärjestystä, että ruhtinas piti viisaimpana jäädä hiukan
jälkeen muista.

Saatuaan kuulla tästä meni Ketling heti Oleńkan luo kertomaan,


miten asiat olivat.

— Tärkein kysymys on, — sanoi Oleńka kuultuaan selostuksen, —


ajavatko herra Sapieha ja tuo Babinicz ruhtinasta takaa ja siirtyykö
sota näille seuduille.

— Sotamiesten kertomuksista on vaikea saada selvää, — vastasi


upseeri, — sillä peloissaan he liioittelevat vaaraa. On semmoisiakin,
jotka sanovat Babiniczin jo olevan täällä. Mutta siitä, että ruhtinas ja
Sakowicz ovat jääneet jäljemmäksi, päättelen, että eteneminen ei
ainakaan ole nopeata.

— Mutta kaiketi se joka tapauksessa vielä on odotettavissa?


Kukapa ei voiton saatuaan ajaisi takaa vihollista?

— Se nähdään sitten. Tarkoitukseni oli puhua eräästä toisesta


asiasta. Ruhtinas on sairauden ja vastoinkäymisten johdosta
varmaankin ärtynyt ja voi epätoivoissaan helposti tehdä väkivaltaisia
tekoja… Älkää erotko tädistänne eikä neiti Borzobohatasta älkääkä
suostuko siihen, että herra miekankantaja lähetetään Tilsitiin, kuten
tapahtui ennen sotaretkelle lähtöä.

Oleńka ei vastannut mitään. Miekankantajaa ei koskaan oltu


lähetettykään Tilsitiin, mutta kun hän ruhtinaalta saamansa kolhaisun
jälkeen oli maannut jonkin aikaa sairaana, oli Sakowicz salatakseen
ruhtinaan teon tahallaan levittänyt huhun, että ukko oli lähtenyt
Tilsitiin. Oleńka ei tahtonut tätä kertoa Ketlingille, sillä ylpeätä tyttöä

You might also like