假设我们有一个pandas系列列表,其中每个列表包含一些描述为字符串的特征:
0 ["A", "C", "G", ...]
1 ["B", "C", "H", ...]
2 ["A", "X"]
...
N ["J", "K", ...]
绘制X轴出现特征的2D像素网格和Y轴系列0,1,2,...,N?
于9月22日编辑16:
似乎我没有明确提到所有观察的特征列表不一定具有相同的大小。观察1可以有4个特征,观察2可以没有,观察3可以有5个等等。因此,我无法立即将它们转换为numpy数组,而无需以某种方式预处理它们以填充缺失的特征。
答案 0 :(得分:3)
由于我已经在评论中为图像编写了代码,而Ed似乎对我的问题的解释与我一样,所以我会继续添加我的解决方案。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import string
M, N = 100, 10
letters = list(string.ascii_uppercase)
data = np.random.choice(letters, (M, N))
df = pd.DataFrame(data)
# Get frequency of letters in each column using pd.value_counts
df_freq = df.apply(pd.value_counts).T
# Plot frequency dataframe with seaborn heatmap
ax = sns.heatmap(df_freq, linewidths=0.1, annot=False, cbar=True)
plt.show()
答案 1 :(得分:1)
将大熊猫用于1D组织图似乎是直截了当的,如this回答。您可以使用这个想法并填充N乘以26的数组,然后用2D绘制
<select name="returned" style="width: 150px">
<option value="Yes" <?php echo $returned === 'Yes' ? 'selected="selected"' : '' ?>>Yes</option>
<option value="No" <?php echo $returned === 'No' ? 'selected="selected"' : '' ?>>No</option>
</select>