如果使用.Rows.[rowIndex]
操作得到row
的Frame
,则Deedle
将返回。有时我知道这只包含float
。如何将所有obj
转换为float
系列中的拍摄对象?F#deedle转换系列<string, obj>转换为Series <string,float>?
2
A
回答
2
在Deedle系列是通用的,所以理想情况下应该可以立即获得浮动系列。但正如你为什么得到一系列对象的原因尚不清楚,你仍然可以通过映射一个适当的类型转换函数值转换为浮动:
#load @"..\packages\Deedle.1.2.4\Deedle.fsx"
open Deedle
open System
// Let's prepare a sample series
let keys = ["1";"2";"3"]
let values = [1.1 :> Object;1.2 :> Object;1.3 :> Object]
let series = Series(keys, values)
// Now apply the map taking the Series<string,System.Object> series to Series<string,float>
series |> Series.map (fun _ v -> v :?> float)
// as @Foggy Finder pointed out, there is a convenience function to only map values
series |> Series.mapValues (fun v -> v :?> float)
// Alternatively, use the tryMap function that takes the Series<int,Object> series
// to Series<int,TryValue<float>>
series |> Series.tryMap (fun _ v -> v :?> float)
的类型Series.map
功能是(('a -> 'b -> 'c) -> Series<'a,'b> -> Series<'a,'c>) when 'a : equality
。这意味着映射函数的第一个参数是我们忽略使用下划线的关键,因为它不需要进行类型转换。正如Foggy Finder指出的那样,隐藏键的便利功能Series.mapValues
。
+1
我会补充说有一个Series.mapValues –
相关问题
- 1. C#将列表<string>转换为字典<string,string>
- 2. 转换的ArrayList <String>为String [] []
- 3. 如何将MultiMap <String,String>转换为MultiMap <String,Integer>?
- 4. 转换列表<Enum>转换成Seq [(String,String)]
- 5. 将enum转换为列表<string>
- 6. 将XmlNodeList转换为列表<string>
- 7. 转换列表<ArrayList>为String []
- 8. 转换列表<boolean>为String
- 9. 将C#列表转换为<string>转换为Javascript
- 10. 列表<String>到ArrayList的<String>转换问题
- 11. 转换EnumerableRowCollection <string>列出<string>
- 12. 如何列出<String>转换到一个ArrayList <String>
- 13. 如何转换列表<string>到ReadOnlyCollection <string>在C#
- 14. 如何将HashMap <String,Integer> param转换为Map <String,Object)
- 15. 将ObjectResult <string>转换为ObjectModel.Collection <string>
- 16. Android将ArrayList <HashMap <String,String >> mylist转换为stringarray
- 17. 如何将List <NameValuePair>转换为hashMap <String,String>?
- 18. 将JavaDStream <String>转换为JavaRDD <String>
- 19. 如何将List <Single <String>>转换为列表<String>?
- 20. 将列表<Map <String,Object >>转换为Map <String,Integer>
- 21. 转换ArrayList <ArrayList <String>>“返回”ArrayList <String>
- 22. 转换列表<string>转换为StringCollection
- 23. 无法从列表<map <string,object >>转换为列表<map <string,string >>
- 24. 将转换列表<string>转换为列表中的<int> C#
- 25. 转换JSON对象列出<String>
- 26. 转换集合<String[]>列出
- 27. C#转换DataTable中列出<string>
- 28. Android的转换列表<String[]>为String []
- 29. 如何将String []转换为IDictionary <String,String>?
- 30. Java:将列表<String>转换为方法(String,String,String)的输入
这个问题可能很简单。但是这样的问题在python/pandas社区中得到了解答。无论如何,低估这一点是阻碍人们采用F#/ Deedle。 – tesla1060
如果您知道所有元素都是浮动元素,您可以使用映射函数(在Deedle中,默认的'map'将跳过缺少的值,还有一个单独的函数'trymap',它可以处理异常)。你可以传递像'(fun x - > x:?> float)'这样的地图函数。 – jpe
@jpe,我想你应该写这个评论作为答案;) –