python - 数据中具有空列的数据框
问题描述
我有一个带有标题行的列表,然后是不同的值行。
在某些情况下,最后一个“列”对于所有行都有一个空值(如果只有一行有一个值,它可以正常工作),但 DataFrame 对此并不满意,因为列数与标题不同。
我正在考虑在创建 DF 之前将 None 值添加到第一个没有任何值的列表中,但我想知道是否有更好的方法来处理这种情况?
data = [
["data1", "data2", "data3"],
["value11", "value12"],
["value21", "value22"],
["value31", "value32"]]
headers = data.pop(0)
dataframe = pandas.DataFrame(data, columns = headers)
解决方案
你可以这样做:
import pandas as pd
data = [
["data1", "data2", "data3"],
["value11", "value12"],
["value21", "value22"],
["value31", "value32"]
]
# create dataframe
df = pd.DataFrame(data)
# set new column names
# this will use ["data1", "data2", "data3"] as new columns, because they are in the first row
df.columns = df.iloc[0].tolist()
# now that you have the right column names, just jump the first line
df = df.iloc[1:].reset_index(drop=True)
df
data1 data2 data3
0 value11 value12 None
1 value21 value22 None
2 value31 value32 None
这是你想要的吗?
推荐阅读
- powershell - Powershell 循环执行
- javascript - 如何在json响应中找到两个特定的requrement
- ios - 使用 cgImage.mask 屏蔽两个 UIImage 不起作用,但适用于 imageview.layer.mask
- jquery - 有没有办法永久添加使用 jquery 添加的元素?
- c++ - 为什么 .a 文件比 .so 文件小?
- spring-webflux - 有没有办法在 Spring Cloud Stream Reactive 方法中动态更改目的地?
- android - (Flutter) ListView 在仅包含图像的项目之间有不必要的空格
- javascript - 如果选择了单选按钮,则使用 vuejs,使用下拉列表替换数组中找到的图像
- apache - 美化 url 从 art.php?id=51 到 art/51
- java - 在应用程序逻辑级别在 Java 中每秒处理大量用户请求有哪些不同的方法?