Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. import joinery.DataFrame
  2. import java.math.BigDecimal
  3. import java.util.*
  4.  
  5. object Main {
  6.  
  7. @JvmStatic
  8. fun main(args: Array<String>) {
  9. val df = DataFrame<Any>().resetIndex()
  10. df.add("Obligacje").add("Kupon").add("ValueToConvert")
  11. df.append(listOf(15.44, 12.22, "1234.45"))
  12. df.append(listOf(4.4, 144.11, "543.21"))
  13. print("$df\n")
  14.  
  15. convertValueToNewColumn(df)
  16.  
  17. val df2 = DataFrame<Any>().resetIndex()
  18. df2.add("Wydatki").add("Przychody")
  19. df2.append(listOf(16.55, 15.11))
  20. df2.append(listOf(61.123, 51.31))
  21.  
  22. var joinedDf = df.join(df2,DataFrame.JoinType.INNER)
  23. println("INNER JOIN on index \n$joinedDf")
  24.  
  25. val df3 = DataFrame<Any>().resetIndex()
  26. df3.add("Wydatki").add("Przychody")
  27. df3.append(listOf(16.55, 15.11))
  28. df3.append(listOf(17.22, 51.31))
  29. df3.append(listOf(20.44, 41.11))
  30.  
  31. joinedDf = df2.joinOn(df3, DataFrame.JoinType.INNER, "Wydatki")
  32. println("INNER JOIN ON WYDATKI COLUMN\n$joinedDf")
  33. joinedDf = df2.joinOn(df3, DataFrame.JoinType.RIGHT, "Wydatki")
  34. println("RIGHT JOIN ON WYDATKI COLUMN\n$joinedDf")
  35.  
  36. df3.iterrows().forEach { appendToDataFrame(it, df2) }
  37.  
  38. print("MERGED TWO DFs\n$df2")
  39. }
  40.  
  41. private fun appendToDataFrame(rowFrom: List<Any>, to: DataFrame<Any>) {
  42. to.append(rowFrom)
  43. }
  44.  
  45. private fun convertValueToNewColumn(df: DataFrame<Any>) {
  46. df.add("ConvertedValue")
  47. df.itermap().forEach { map -> convert(map) }
  48. df.drop("ValueToConvert")
  49. }
  50.  
  51. private fun convert(map: MutableMap<Any, Any>) {
  52. val valueToConvert = map.get("ValueToConvert") as String
  53. val converted = valueToConvert.toDouble()
  54. map["ConvertedValue"] = converted
  55. }
  56.  
  57. private fun calculate(row: MutableMap<Any, Any>) {
  58. val obligacje = row["Obligacje"] as Double
  59. val kupon = row["Kupon"] as Double
  60. print("$kupon $obligacje")
  61. }
  62. }
  63.  
  64. Obligacje Kupon ValueToConvert
  65. 0 15.44000000 12.22000000 1234.45
  66. 1 4.40000000 144.11000000 543.21
  67.  
  68. INNER JOIN on index
  69. Obligacje Kupon ValueToConvert Wydatki Przychody
  70. 0 15.44000000 12.22000000 1234.45 16.55000000 15.11000000
  71. 1 4.40000000 144.11000000 543.21 61.12300000 51.31000000
  72.  
  73. INNER JOIN ON WYDATKI COLUMN
  74. Wydatki_left Przychody_left Wydatki_right Przychody_right
  75. [16.55] 16.55000000 15.11000000 16.55000000 15.11000000
  76.  
  77. RIGHT JOIN ON WYDATKI COLUMN
  78. Wydatki_right Przychody_right Wydatki_left Przychody_left
  79. [16.55] 16.55000000 15.11000000 16.55000000 15.11000000
  80. [17.22] 17.22000000 51.31000000
  81. [20.44] 20.44000000 41.11000000
  82.  
  83. MERGED TWO DFs
  84. Wydatki Przychody
  85. 0 16.55000000 15.11000000
  86. 1 61.12300000 51.31000000
  87. 2 16.55000000 15.11000000
  88. 3 17.22000000 51.31000000
  89. 4 20.44000000 41.11000000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement