我需要将多行组合成一行,这将是简单的空间连接
View of my dataframe:
tempx value
0 picture1 1.5
1 picture555 1.5
2 picture255 1.5
3 picture365 1.5
4 picture112 1.5
Run Code Online (Sandbox Code Playgroud)
我希望数据帧像这样转换:(空格分隔)tempx值
Expected output:
tempx value
0 picture1 picture555 picture255 picture365 picture112 1.5
or
as a python dict
{1.5:{picture1 picture555 picture255 picture365 picture112}}
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
df_test['tempx']=df_test['tempx'].str.cat(sep=' ')
Run Code Online (Sandbox Code Playgroud)
这工作但它结合了所有列中的行,如下所示:
tempx value
0 picture1 picture555 picture255 picture365 picture112 1.5
1 picture1 picture555 picture255 picture365 picture112 1.5
2 picture1 picture555 picture255 picture365 picture112 1.5
3 picture1 picture555 picture255 picture365 picture112 1.5
4 picture1 …Run Code Online (Sandbox Code Playgroud) 我有一个包含多行的DataFrame.有没有什么方法可以将它们组合成一个字符串?
例如:
words
0 I, will, hereby
1 am, gonna
2 going, far
3 to
4 do
5 this
Run Code Online (Sandbox Code Playgroud)
预期产量:
I, will, hereby, am, gonna, going, far, to, do, this
Run Code Online (Sandbox Code Playgroud) 如果标题不清楚,我深表歉意,但我很难表达这个问题。如果我只是展示我想做的事情,那可能是最好的。
一些上下文:我解析了一个文档的名称,并将每个名称与它出现的页码一起存储。我需要转换 DataFrame 以便每个名称都有一行,页码列组合了名称出现的所有页面。我认为这需要 GroupBy,但我不完全确定。
我目前的数据:
data = np.array([['John', 'Smith', 1], ['John', 'Smith', 7], ['Eric', 'Adams', 9], ['Jane', 'Doe', 14], ['Jane', 'Doe', 16], ['John', 'Smith', 19]])
pd.DataFrame(data, columns=['FIRST_NM', 'LAST_NM', 'PAGE_NUM'])
FIRST_NM LAST_NM PAGE_NUM
0 John Smith 1
1 John Smith 7
2 Eric Adams 9
3 Jane Doe 14
4 Jane Doe 16
5 John Smith 19
Run Code Online (Sandbox Code Playgroud)
所需的数据帧:
FIRST_NM LAST_NM PAGE_NUM
0 John Smith 1,7,19
1 Eric Adams 9
2 Jane Doe 14,16
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框 -
如何组合行,使属于同一邮政编码的所有社区都显示在由逗号分隔的同一行中。像这样的东西——
| 邮政编码 | 自治市镇 | 邻里|
| M1B | 士嘉堡 | Rouge, Malvern |
| M5A | 多伦多市中心 | 海滨,摄政公园 |
| M6A | 北约克 | 劳伦斯高地,劳伦斯庄园 |
和其余的行一样......
我希望能够根据ID将多行字符串合并为一个。我使用了熊猫库(python 3)。
val id
Cat 1
Tiger 2
Ball 3
Bat 1
bill 2
dog 1
l = []
a = 0
while a < lendata:
if df["id"][a] == 1:
if a != 0:
df["val"][tmp] = ' '.join(l)
l = []
tmp = a
l.append(df["val"][a])
else:
l.append(df["val"][a])
a += 1
Run Code Online (Sandbox Code Playgroud)
它适用于循环。我需要这个结果,
val
Cat Tiger Ball
Bat bill
dog
Run Code Online (Sandbox Code Playgroud)
不是一群
问题:您知道如何使用熊猫功能吗?谢谢。
给定一个 Pandas Dataframe df,列名称为“Session”和“List”:
我可以将“列表”值与“会话”的相同值分组在一起吗?
我的方法
我尝试通过创建一个新的数据帧并迭代初始数据帧的行来解决问题,同时维护一个会话计数器,如果我看到会话已更改,则该计数器会增加。
如果它没有改变,那么我会用逗号附加与该行值对应的列表值。
每当会话发生变化时,我都会使用 strip 来去掉最后一个逗号(额外的)。
初始数据框
Session List
0 1 a
1 1 b
2 1 c
3 2 d
4 2 e
5 3 f
Run Code Online (Sandbox Code Playgroud)
所需的数据框
Session List
0 1 a,b,c
1 2 d,e
2 3 f
Run Code Online (Sandbox Code Playgroud)
有人可以建议一些更有效或更简单的方法吗?
先感谢您。
如何打开以下输入数据(从Excel文件馈送的Pandas数据框):
ID Category Speaker Price
334014 Real Estate Perspectives Tom Smith 100
334014 E&E Tom Smith 200
334014 Real Estate Perspectives Janet Brown 100
334014 E&E Janet Brown 200
Run Code Online (Sandbox Code Playgroud)
到这个:
ID Category Speaker Price
334014 Real Estate Perspectives Tom Smith, Janet Brown 100
334014 E&E Tom Smith, Janet Brown 200
Run Code Online (Sandbox Code Playgroud)
因此,我想按类别分组,将发言人串联起来,但不汇总价格。
我对Pandas dataframe.groupby()和尝试了不同的方法.agg(),但无济于事。也许有更简单的纯Python解决方案?
我目前在顶部有数据框.有没有办法使用groupby函数来获取另一个数据帧来对数据进行分组,并使用python pandas将这些单词连接成下面的格式?
谢谢
[![输入图像描述[1]](https://i.stack.imgur.com/ffFpH.png)