【问题标题】:Create a DataFrame form a list of tuples从元组列表创建一个 DataFrame
【发布时间】:2020-10-15 11:29:57
【问题描述】:

我想从 Python 中的元组列表创建一个 Pandas 数据框。

my_list=[('integer_1',['value1', 'value2']),
         ('integer_2',['value1', 'value2']),
         ...
         ('integer_n-1',['value1', 'value2']),
         ('integer_n',['value1', 'value2'])
        ]

我的 DataFrame(带有 df.shape = [2*n,2] )必须是这样的:

  integer   value
0 integer_1 value_1
1 integer_1 value_2
2 integer_2 value_1
3 integer_2 value_1
...
2n-1 integer_n value_1
2n integer_n value_2

有什么建议吗?

【问题讨论】:

  • 如果您提供实际的数字来使用会更好。字符串处理将不同于数字。我们不能说 value1 是否是字符串/数字。细节要好得多。
  • list 中所有元素的 value1 和 value2 是否相同?
  • 并不总是@komatiraju032
  • @monte,我认为它也有效。我的列表上有大约 50k 元组。你认为这个答案比 YOBEN_S 发布的答案更有效吗?

标签: python pandas list dataframe tuples


【解决方案1】:

你可以explode

df=pd.DataFrame(my_list,columns=['int','value']).explode('value')
           int   value
0    integer_1  value1
0    integer_1  value2
1    integer_2  value1
1    integer_2  value2
2  integer_n-1  value1
2  integer_n-1  value2
3    integer_n  value1
3    integer_n  value2

【讨论】:

  • 它有效。我会在最后添加这一行:df.reset_index(drop=True)。
猜你喜欢
  • 2015-12-05
  • 1970-01-01
  • 2020-03-18
  • 1970-01-01
  • 2019-03-15
  • 2021-03-14
  • 2016-05-02
  • 1970-01-01
  • 2019-07-02
相关资源
最近更新 更多