我有这个数组,它被格式化为字符串:
['6.35', '2.72', '11.79', '183.25']
Run Code Online (Sandbox Code Playgroud)
问题是当我将其转换为数字时(使用 - 不带双引号)
array.match(/\d+/g).map(Number) || 0;
它将用于小数的点更改为逗号。然后我最终得到这个新数组:
6,35,2,72,11,79,183,25
Run Code Online (Sandbox Code Playgroud)
因此,数组中不再有 4 个项目,现在我有 8 个项目,因为我的分隔符是逗号。
关于如何在不替换点的情况下转换此数组的任何想法?
我必须每 5 秒重新加载 Streamlit 图表,以便在 XLSX 报告中可视化新数据。如何实现这一目标?
import streamlit as st
import pandas as pd
import os
mainDir = os.path.dirname(__file__)
filePath = os.path.join(mainDir, "sources\\test.xlsx")
df = pd.read_excel(filePath)
option1 = 'Product'
option2 = 'Quantity'
df = df[[option1, option2]].set_index(option1)
st.write('Product Quantity')
st.area_chart(df)
Run Code Online (Sandbox Code Playgroud) 我必须根据字典对数据帧的列的值/行进行排序,字典包含数据帧的每个值及其行索引,但排序不同。
howToSortDict = {'Brazil': 2, 'Russia': 0, 'China': 1} # row value and its index
myDict = {
"countries": ["Brazil", "Russia", "China"],
"amount": [1000, 2000, 3000]
}
df = pd.DataFrame(myDict)
Run Code Online (Sandbox Code Playgroud)
它们的排序方式:
countries amount
0 Brazil 1000
1 Russia 2000
2 China 3000
Run Code Online (Sandbox Code Playgroud)
我需要如何对它们进行排序(作为数据框):
countries amount
0 Russia 2000
1 China 3000
2 Brazil 1000
Run Code Online (Sandbox Code Playgroud)
关于如何在不循环每一行的情况下实现这一点的任何想法?
我想知道如何使用 Streamlit 上的 Altair 绘制多个 Y 轴。
import pandas as pd
import numpy as np
import altair as alt
import streamlit as st
df = pd.DataFrame({
'name': ['brian', 'dominik', 'patricia'],
'age': [20, 30, 40],
'salary': [1000, 2000, 3000]
})
c = alt.Chart(df).mark_area().encode(
x='name', y=['age', 'salary'])
st.altair_chart(c, use_container_width=True)
Run Code Online (Sandbox Code Playgroud)
上面的示例返回以下错误:
SchemaValidationError:无效规范 altair.vegalite.v4.schema.core.FacetedEncoding->0,验证 'type' [{'type': 'quantitative', 'field': 'age'}, {'type': 'quantitative' , 'field': 'salary'}] 不是 'object' 类型
我必须为正态分布图对数组进行排序,因此它的值必须从最小值到最大值排序,然后再回到最小值,从而创建一条曲线。
例子:
大批:
[200, 300, 0, 100, 400]
Run Code Online (Sandbox Code Playgroud)
必须如何排序:
[0, 100, 200, 300, 400, 300, 200, 100, 0]
Run Code Online (Sandbox Code Playgroud)
关于如何在 Javascript 中执行此操作的任何想法?