4
我正在使用熊貓Python模塊生成數據透視表報表。源數據包含大量以毫秒爲單位的讀數。如果毫秒數超過999,則該CSV文件中的值將包含逗號(例如1,234 = 1.234秒)。使用逗號轉換字符串使用Python熊貓編號
以下是我正在試圖運行報告:
import pandas as pd
import numpy as np
pool_usage = pd.read_csv("c:/foo/ds-dump.csv")
# Add a column to the end that shows you where the data came from
pool_usage["Source File"] = "ds-dump.csv"
report = pool_usage.pivot_table(values=['Average Pool Size', 'Average Usage Time (ms)'], index=['Source File'], aggfunc=np.max)
print(report)
的問題是,對於平均使用時間(毫秒)的D型是一個對象,因此np.max
功能會把它喜歡它的NaN的。因此,我從來沒有看到任何價值超過999
我試圖修復這樣的問題更大:
import pandas as pd
import numpy as np
pool_usage = pd.read_csv("c:/foo/ds-dump.csv")
# Add a column to the end that shows you where the data came from
pool_usage["Source File"] = "ds-dump.csv"
# Convert strings to numbers if possible
pool_usage = pool_usage.convert_objects(convert_numeric=True)
report = pool_usage.pivot_table(values=['Average Pool Size', 'Average Usage Time (ms)'], index=['Source File'], aggfunc=np.max)
print(report)
這也將平均使用時間列的D型真正改變的浮動,但所有的大於999的值仍然像NaN一樣處理。
如何將平均使用時間列轉換爲浮點數,即使可能某些值可能包含逗號?