将 Python 中混合类型的值列表附加到数据框

Append a list of values with mixed types in Python to data frame

我有一个使用 pandas.read_csv 从 csv 读取的数据框,每一行数据框如下所示:

[1, '10/18/2016 06:00', 1, 14, 0, 5.5]

基本上,它由整数、字符串和浮点数组成。现在,我想根据现有数据生成更多数据(新行)并附加到原始数据框。当我尝试使用以下代码调用函数 append 时:

df.append(list(newrow))

我收到错误:

RuntimeWarning: unorderable types: str() < int(), sort order is undefined for incomparable objects. 
result = result.union(other)

我觉得string类型在这里有点调皮,但我没有想出办法实现。

另外,我也试过先把df转成df.values,再用numpy.vstack(df.values, numpy.array(newrow))。但是,这段代码的结果变成了

['1', '10/18/2016 06:00', '1', '14', '0', '5.5']

其中所有字段都变成字符串。感谢任何帮助。

这行得通吗?

#build a DataFrame first using the list and column names from original DF.
df.append(pd.DataFrame(columns=df.columns,data=[newrow]))

这似乎适用于附加到空数据帧。 列必须匹配 .

column_titles = ['col1','col2']
data = ['1', '10/18/2016 06:00', '1', '14', '0', '5.5']

# creates empty df w/headers
df = pd.DataFrame(columns = column_titles)

df2 = pd.DataFrame([data])

df = df.append(df2)