Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import joinery.DataFrame
- import java.math.BigDecimal
- import java.util.*
- object Main {
- @JvmStatic
- fun main(args: Array<String>) {
- val df = DataFrame<Any>().resetIndex()
- df.add("Obligacje").add("Kupon").add("ValueToConvert")
- df.append(listOf(15.44, 12.22, "1234.45"))
- df.append(listOf(4.4, 144.11, "543.21"))
- print("$df\n")
- convertValueToNewColumn(df)
- val df2 = DataFrame<Any>().resetIndex()
- df2.add("Wydatki").add("Przychody")
- df2.append(listOf(16.55, 15.11))
- df2.append(listOf(61.123, 51.31))
- var joinedDf = df.join(df2,DataFrame.JoinType.INNER)
- println("INNER JOIN on index \n$joinedDf")
- val df3 = DataFrame<Any>().resetIndex()
- df3.add("Wydatki").add("Przychody")
- df3.append(listOf(16.55, 15.11))
- df3.append(listOf(17.22, 51.31))
- df3.append(listOf(20.44, 41.11))
- joinedDf = df2.joinOn(df3, DataFrame.JoinType.INNER, "Wydatki")
- println("INNER JOIN ON WYDATKI COLUMN\n$joinedDf")
- joinedDf = df2.joinOn(df3, DataFrame.JoinType.RIGHT, "Wydatki")
- println("RIGHT JOIN ON WYDATKI COLUMN\n$joinedDf")
- df3.iterrows().forEach { appendToDataFrame(it, df2) }
- print("MERGED TWO DFs\n$df2")
- }
- private fun appendToDataFrame(rowFrom: List<Any>, to: DataFrame<Any>) {
- to.append(rowFrom)
- }
- private fun convertValueToNewColumn(df: DataFrame<Any>) {
- df.add("ConvertedValue")
- df.itermap().forEach { map -> convert(map) }
- df.drop("ValueToConvert")
- }
- private fun convert(map: MutableMap<Any, Any>) {
- val valueToConvert = map.get("ValueToConvert") as String
- val converted = valueToConvert.toDouble()
- map["ConvertedValue"] = converted
- }
- private fun calculate(row: MutableMap<Any, Any>) {
- val obligacje = row["Obligacje"] as Double
- val kupon = row["Kupon"] as Double
- print("$kupon $obligacje")
- }
- }
- Obligacje Kupon ValueToConvert
- 0 15.44000000 12.22000000 1234.45
- 1 4.40000000 144.11000000 543.21
- INNER JOIN on index
- Obligacje Kupon ValueToConvert Wydatki Przychody
- 0 15.44000000 12.22000000 1234.45 16.55000000 15.11000000
- 1 4.40000000 144.11000000 543.21 61.12300000 51.31000000
- INNER JOIN ON WYDATKI COLUMN
- Wydatki_left Przychody_left Wydatki_right Przychody_right
- [16.55] 16.55000000 15.11000000 16.55000000 15.11000000
- RIGHT JOIN ON WYDATKI COLUMN
- Wydatki_right Przychody_right Wydatki_left Przychody_left
- [16.55] 16.55000000 15.11000000 16.55000000 15.11000000
- [17.22] 17.22000000 51.31000000
- [20.44] 20.44000000 41.11000000
- MERGED TWO DFs
- Wydatki Przychody
- 0 16.55000000 15.11000000
- 1 61.12300000 51.31000000
- 2 16.55000000 15.11000000
- 3 17.22000000 51.31000000
- 4 20.44000000 41.11000000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement