Java में डेटा क्लीनिंग
Dennis Lee
Software Engineer
| Books | Authors | Language | First_Published | Sales_in_Millions | Average_Price |
|---|---|---|---|---|---|
| A Tale of Two Cities | Charles Dickens | English | 1859 | 200.0 | 12.99 |
| The Little Prince (Le Petit Prince) | Antoine de Saint-Exupéry | French | 1943 | 200.0 | 15.50 |
| Harry Potter and the Philosopher's Stone | J. K. Rowling | English | 1997 | 120.0 | 19.99 |
| And Then There Were None | Agatha Christie | English | 1939 | 100.0 | 14.95 |
import tech.tablesaw.api.Table;
import tech.tablesaw.api.StringColumn;
import tech.tablesaw.api.DoubleColumn;
Table books = Table.read().csv("bestsellers.csv"); for (String colName : books.columnNames()) {// कॉलम नाम और उसका टाइप प्रिंट करें System.out.println(colName + ": " + books.column(colName).type()); }
Books: STRING
Authors: STRING
Language: STRING
First_Published: INTEGER
Sales_in_Millions: INTEGER
Average_Price: DOUBLE
// IntColumn को DoubleColumn में बदलें क्योंकि Tablesaw ने इसे INTEGER माना
DoubleColumn sales = books.intColumn("Sales_in_Millions")
.asDoubleColumn();
System.out.println("कन्वर्ज़न के बाद sales कॉलम का डेटा टाइप: " + sales.type());
Data type of sales column after conversion: DOUBLE
// DoubleColumn को IntColumn में बदलना भी संभव है
IntColumn salesAsInt = sales.asIntColumn();
DoubleColumn averagePrice = books.doubleColumn("Average_Price"); // दो कॉलम गुणा कर कुल रेवेन्यू निकालें DoubleColumn totalRevenue = sales.multiply(averagePrice).setName("Total_Revenue_Millions");books.addColumns(totalRevenue); System.out.println("\nदो कॉलम का गुणन: Sales × Price = Revenue"); System.out.println(books.selectColumns("Books", "Sales_in_Millions", "Average_Price", "Total_Revenue_Millions") .first(4).print());
Multiplying two columns: Sales * Price = Revenue
| Books | Sales_in_ | Average_ | Total_Revenue_ |
| | Millions | Price | Millions |
|-------------------------------------|------------|-----------|----------------|
| A Tale of Two Cities | 200 | 12.99 | 2598 |
| The Little Prince (Le Petit Prince) | 200 | 15.50 | 3100 |
| Harry Potter and | 120 | 19.99 | 2398.80 |
| the Philosopher's Stone | | | |
| And Then There Were None | 100 | 14.95 | 1495 |
\\(.*\\) कोष्ठक मैच करता है\\( // ओपनिंग कोष्ठक मैच करें (\ से एस्केप)
.* // कोई भी कैरेक्टर (.) शून्य या अधिक बार (*)
\\) // क्लोज़िंग कोष्ठक मैच करें (\ से एस्केप)
// टाइटल्स से ब्रैकेट वाले अनुवाद हटाएँ
StringColumn titlesNoParentheses = titles
// हर टाइटल में से कोष्ठक और आसपास की स्पेस हटाएँ
.map(t -> t.replaceAll("\\(.*\\)", "").trim())
// नया कॉलम नाम सेट करें
.setName("Titles without parentheses");
System.out.println("Original: " + titles.get(1)); // पहला आइटम लें
System.out.println("Cleaned: " + titlesNoParentheses.get(1));
Original: The Little Prince (Le Petit Prince)
Cleaned: The Little Prince
// कोष्ठक हटाना और लोअरकेस में बदलना मिलाएँ StringColumn titlesCombinedCleaning = titles.map(t -> t.replaceAll("\\(.*\\)", "") // कोष्ठक हटाएँ.trim() // आसपास की स्पेस हटाएँ.toLowerCase()) // लोअरकेस में बदलें .setName("Clean_Titles_Combined"); // कॉलम नाम सेट करें System.out.println("Original title: " + titles.get(1)); System.out.println("Title after cleaning: " + titlesCombinedCleaning.get(1));
Original title: The Little Prince (Le Petit Prince)
Title after cleaning: the little prince
books.column(colName).type(); // कॉलम टाइप प्राप्त करें
books.intColumn("Sales_in_Millions").asDoubleColumn(); // टाइप कन्वर्ट करें
DoubleColumn totalRevenue = sales.multiply(averagePrice) // कॉलम्स गुणा करें
.setName("Total_Revenue_Millions"); // नए कॉलम का नाम
titles.map(String::toLowerCase) // लोअरकेस में बदलें
.setName("Lowercase_Titles"); // नए कॉलम का नाम
titles.map(t -> t.replaceAll("\\(.*\\)", "").trim()) // कोष्ठक हटाएँ
.setName("Titles without parentheses"); // नए कॉलम का नाम
Java में डेटा क्लीनिंग