使用多个列表,我们如何将我们的行来自哪个列表分配给新列
Using multiple lists how do we assign which list our row came from to a new column
我有几个英文单词表。如何在 DataFrame 中创建一个列,告诉我每个单词来自哪个列表。因此,将来随着更多单词从新列表中添加,我可以跟踪单词来自哪个列表?
list_1 = [['ant', 3] ['bat', 3] ['cat', 3]]
df = pd.DataFrame(list_1, columns = ['word', 'length'], dtype = str)
我如何将 list_2 数据添加到此数据框并确定数据来自 source 列下的哪些列表?
list_2 = [['rose', 4] ['tulip', 5] ['lilac', 5] ['daisy', 5]]
预期输出:
source word length
0 list_1 ant 3
1 list_1 bat 3
2 list_1 cat 3
3 list_2 rose 4
4 list_2 tulip 5
5 list_2 lilac 5
6 list_2 daisy 5
以下是我的做法,使用字典来保存列表,并对数据框构造函数进行一点理解:
import pandas as pd
list_1 = ['ant', 'bat', 'cat']
list_2 = ['rose', 'tulip', 'lilac', 'daisy']
lists = {'list_1': list_1, 'list_2': list_2}
df = pd.DataFrame([(k,e,len(e)) for k,l in lists.items() for e in l],
columns=['source', 'word', 'length'])
输出:
source word length
0 list_1 ant 3
1 list_1 bat 3
2 list_1 cat 3
3 list_2 rose 4
4 list_2 tulip 5
5 list_2 lilac 5
6 list_2 daisy 5
我有几个英文单词表。如何在 DataFrame 中创建一个列,告诉我每个单词来自哪个列表。因此,将来随着更多单词从新列表中添加,我可以跟踪单词来自哪个列表?
list_1 = [['ant', 3] ['bat', 3] ['cat', 3]]
df = pd.DataFrame(list_1, columns = ['word', 'length'], dtype = str)
我如何将 list_2 数据添加到此数据框并确定数据来自 source 列下的哪些列表?
list_2 = [['rose', 4] ['tulip', 5] ['lilac', 5] ['daisy', 5]]
预期输出:
source word length
0 list_1 ant 3
1 list_1 bat 3
2 list_1 cat 3
3 list_2 rose 4
4 list_2 tulip 5
5 list_2 lilac 5
6 list_2 daisy 5
以下是我的做法,使用字典来保存列表,并对数据框构造函数进行一点理解:
import pandas as pd
list_1 = ['ant', 'bat', 'cat']
list_2 = ['rose', 'tulip', 'lilac', 'daisy']
lists = {'list_1': list_1, 'list_2': list_2}
df = pd.DataFrame([(k,e,len(e)) for k,l in lists.items() for e in l],
columns=['source', 'word', 'length'])
输出:
source word length
0 list_1 ant 3
1 list_1 bat 3
2 list_1 cat 3
3 list_2 rose 4
4 list_2 tulip 5
5 list_2 lilac 5
6 list_2 daisy 5