对于一个项目,我想创建一个脚本,该脚本允许用户多次输入值(例如,以厘米为单位的值)。我为此考虑了一个While循环。
这些值需要存储在一个数据框中,该数据框将用于生成这些值的图形。
同样,用户没有可以输入的最大条目数,因此必须在每个条目(例如M1,M2,M3…Mn)中生成保存值的变量的名称。但是,数据框将仅包含一行(仅在用户输入值的特定情况下)。

因此,我的问题可以归结为:
如何创建一个带有熊猫的数据框,其中脚本会为测量生成自己的列名,例如M1,M2,M3,…Mn,以便存储所有值。

我现在无法访问我的代码,但是我创建了一个While循环,该循环允许用户输入值,但是我被卡在数据框和列部分。
任何帮助将不胜感激!

最佳答案

我同意@mischi,在没有其他上下文的情况下,熊猫看似矫kill过正,但这是创建您描述的内容的另一种方法...

这段代码提出了一种使用while循环和input()收集值的方法(您的while循环可能很相似)。

colnames = []
inputs = []
counter = 0

while True:
    value = input('Add a value: ')
    if value == 'q':                # provides a way to leave the loop
        break
    else:
        key = 'M' + str(counter)
        counter += 1
        colnames.append(key)
        inputs.append(value)


from pandas import DataFrame

df = DataFrame(inputs, colnames)  # this creates a DataFrame with
                                  # a single column and an index
                                  # using the colnames

df = df.T                         # This transposes the DataFrame to
                                  # so the indexes become the colnames

df.index = ['values']             # Sets the name of your row
print(df)


该脚本的输出如下所示:

Add a value: 1
Add a value: 2
Add a value: 3
Add a value: 4
Add a value: q

       M0 M1 M2 M3
values  1  2  3  4

关于python - 数据框生成自己的列名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43675254/

10-12 00:41
查看更多